JS 구현 의 전체 배열 조합 알고리즘 예시
전체 배열 조합 알고리즘,예 를 들 어 a,b,c,d 를 전체 배열 조합 하면 조합 결 과 는 a,b,ab,c,ac,bc,abc,d,ad,bd,abd,cd,acd,bcd,abcd 이다.실현 사고:데이터 소스 에서 하나의 요 소 를 꺼 내 존재 하 는 조합 데이터 와 순서대로 조합 하고 데이터 소스 가 데이터 가 없 을 때 까지 순환 합 니 다.
예:
데이터 원본 a,b,c
1.a 를 꺼 내 고 조합 데이터 group 이 비어 있 으 며 데이터 원본 a 요 소 를 조합 데이터 group 에 삽입 합 니 다.이때 group=[a]
2.b 를 꺼 내 고 조합 데이터 group 은 a,a 와 b 를 조합 하여 ab 를 얻 고 데이터 소스 b 요소,ab 를 조합 데이터 group 에 삽입 합 니 다.이때 group=[a,b,ab]
3.c 를 꺼 내 고 조합 데이터 group 은 a,b,ab 를 꺼 내 각각 c 와 조합 하여 각각 ac,bc,abc 를 얻 고 데이터 소스 c 요소,ac,bc,abc 를 조합 데이터 group 에 삽입 합 니 다.이때 group=[a,b,ab,c,ac,bc,abc]
js 코드:
var data = ['a','b','c','d'];
function getGroup(data, index = 0, group = []) {
var need_apply = new Array();
need_apply.push(data[index]);
for(var i = 0; i < group.length; i++) {
need_apply.push(group[i] + data[index]);
}
group.push.apply(group, need_apply);
if(index + 1 >= data.length) return group;
else return getGroup(data, index + 1, group);
}
console.log(getGroup(data));
출력 결과 실행:자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 판단 수조 네 가지 실현 방법 상세그러면 본고는 주로 몇 가지 판단 방식과 방식 판단의 원리를 바탕으로 문제가 있는지 토론하고자 한다. 예를 들어 html에 여러 개의 iframe 대상이 있으면 instanceof의 검증 결과가 기대에 부합되지 않을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.