Numbers 배열을 첫 번째 인수로, 숫자(예:n)를 두 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다. 숫자 n은 항상 배열의 길이보다 작거나 같습니다.
우리의 함수는 원래 배열에서 길이가 n인 모든 가능한 하위 배열의 모든 요소를 합한 배열을 반환해야 합니다.
예를 들어, 입력이 −
인 경우const arr = [2, 6, 4]; const n = 2;
그러면 출력은 다음과 같아야 합니다. -
const output = [8, 10, 6];
예시
이에 대한 코드는 -
const arr = [2, 6, 4]; const n = 2; const buildCombinations = (arr, num) => { const res = []; let temp, i, j, max = 1 << arr.length; for(i = 0; i < max; i++){ temp = []; for(j = 0; j < arr.length; j++){ if (i & 1 << j){ temp.push(arr[j]); }; }; if(temp.length === num){ res.push(temp.reduce(function (a, b) { return a + b; })); }; }; return res; } console.log(buildCombinations(arr, n));
출력
콘솔의 출력 -
[ 8, 6, 10 ]