Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tất cả tổ hợp tổng cho mảng trong JavaScript

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 ]