Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để kết hợp động tất cả các mảng được cung cấp bằng JavaScript?

Giả sử chúng ta có hai mảng các ký tự như thế này -

const arr1= ['a', 'b', 'c'];
const arr2= ['d', 'e', 'f'];

Chúng tôi được yêu cầu viết một hàm JavaScript nhận trong hai mảng như vậy và xây dựng tất cả các kết hợp có thể có từ các mảng.

Vì vậy, đối với hai mảng này, đầu ra sẽ giống như -

const output = [ad, ae, af, bd, be, bf, cd, ce, cf];

Ví dụ

Mã cho điều này sẽ là -

const arr1= ['a', 'b', 'c'];
const arr2= ['d', 'e', 'f'];
const combineArrays = (...arr) => {
   const res = [];
   const combinePart = (part, index) => {
      arr[index].forEach(el => {
         const p = part.concat(el);
         if(p.length === arr.length){
            res.push(p.join(''));
            return;
         };
         combinePart(p, index + 1);
      });
   };
   combinePart([], 0);
   return res;
}
console.log(combineArrays(arr1, arr2));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

[
   'ad', 'ae', 'af',
   'bd', 'be', 'bf',
   'cd', 'ce', 'cf'
]