JavaScript 배열 값의 데카르트 곱
문제:
임의의 JavaScript 수 지정 다양한 길이의 배열에서 해당 값의 모든 조합(데카르트 곱)을 결정합니다.
해결책:
이 작업은 재귀를 사용하여 효율적으로 해결할 수 있습니다. 여기에는 각 배열을 반복하고 해당 값을 나머지 배열의 가능한 모든 조합과 결합하는 작업이 포함됩니다.
다음 구현을 고려하세요.
function allPossibleCases(arr) { if (arr.length === 1) { return arr[0]; } else { const result = []; const casesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of arr casesOfRest.forEach((c) => { for (let i = 0; i < arr[0].length; i++) { result.push(arr[0][i] + c); } }); return result; } }
사용법:
var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']]; var results = allPossibleCases(allArrays); // outputs ["acd", "bcd", "azd", ...]
설명:
위 내용은 JavaScript 배열에서 값의 모든 조합(데카르트 곱)을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!