JavaScript 배열 값의 모든 조합(데카르트 곱) 찾기
JavaScript의 여러 배열에서 값의 모든 조합을 생성하는 것은 다음을 통해 수행할 수 있습니다. 데카르트 곱의 개념. 접근 방법은 다음과 같습니다.
데카르트 곱에 대한 재귀
모든 조합을 생성하려면 다음을 반복하는 재귀 함수를 사용할 수 있습니다. 각 배열을 생성하고 모든 배열의 요소를 결합합니다.
다음은 여러 배열의 데카르트 곱을 찾는 재귀 함수의 예입니다.
return arr[0];
} else {
var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array for (var i = 0; i < allCasesOfRest.length; i++) { for (var j = 0; j < arr[0].length; j++) { result.push(arr[0][j] + allCasesOfRest[i]); } } return result;
}
}
사용 예
3개의 배열이 있다고 가정해 보겠습니다.
var first = ['a', 'b'], <br>var second = ['c'],<br>var third = ['d', 'e', 'f'];
allPossibleCases 함수를 사용하면 다음과 같이 모든 조합을 생성할 수 있습니다.
var allArrays = [첫 번째, 두 번째, 세 번째];<br>console.log(allPossibleCases(allArrays));
acd ace acf bcd bce bcf azd aze azf bzd bze bzf
참고: 각 조합의 요소 순서는 allArrays 변수의 배열 순서에 따라 달라질 수 있습니다.
위 내용은 JavaScript 배열에서 값의 모든 조합(데카르트 곱)을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!