JavaScript 배열 값의 모든 조합(데카르트 곱) 찾기
JavaScript 배열 집합에서 값의 모든 조합을 결정하려면 다음을 사용합니다. 재귀. 순열과 달리 이 프로세스는 단일 배열 내의 요소를 재배열하는 대신 여러 배열의 요소를 결합하려고 합니다.
다음은 지정된 배열의 데카르트 곱을 생성하는 재귀 솔루션입니다.
<code class="js">function allPossibleCases(arr) { if (arr.length === 0) { return []; } else if (arr.length === 1) { return arr[0]; } else { var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); 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; } }</code>
예를 들어, 입력 배열이 있는 경우:
<code class="js">var first = ['a', 'b', 'c', 'd']; var second = ['e']; var third = ['f', 'g', 'h', 'i', 'j'];</code>
allPossibleCases 함수는 다음 조합을 출력합니다:
aef aeg aeh aei aej bef beg
... 등등. 3개의 입력 배열.
위 내용은 재귀를 사용하여 JavaScript 배열 값의 모든 조합을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!