Chúng ta cần viết hàm JavaScript nhận mảng số làm đối số đầu tiên và số n làm đối số thứ hai. Số n luôn nhỏ hơn hoặc bằng độ dài mảng.
Hàm trả về mảng tổng của tất cả các phần tử của tất cả các mảng con có độ dài n từ mảng gốc.
Ví dụ, nếu đầu vào là:
const arr = [2, 6, 4]; const n = 2;
Thì đầu ra sẽ là:
const output = [8, 10, 6];
Ví dụ
Mã cho việc này:
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));Đầu ra
Kết quả trên console:
[ 8, 6, 10 ]