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

Kết hợp xen kẽ các phần tử mảng trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript lấy bất kỳ số lượng mảng ký tự nào làm đầu vào.

Hàm của chúng ta nên chuẩn bị một mảng mới chứa các phần tử được chọn xen kẽ từ tất cả các mảng đầu vào.

Ví dụ:nếu đầu vào của hàm là -

Đầu vào

const arr1 = [1, 2, 3, 4];
const arr2 = [11, 12, 13, 14];
const arr3 = ['a', 'b', 'c'];

Đầu ra

const output = [1, 11, 'a', 2, 12, 'b', 3, 13, 'c', 4, 14];

Ví dụ

Sau đây là mã -

const arr1 = [1, 2, 3, 4];
const arr2 = [11, 12, 13, 14];
const arr3 = ['a', 'b', 'c'];
const pickElements = (...arrs) => {
   const res = [];
   const max = Math.max(...arrs.map(el => el.length));
   for(let i = 0; i < max; i++){
      for (let j = 0; j < arrs.length; j++){
         if(arrs[j][i]){
            res.push(arrs[j][i]);
         }
      };
   };
   return res;
};
console.log(pickElements(arr1, arr2, arr3));

Đầu ra

[ 1, 11, 'a', 2, 12, 'b', 3, 13, 'c', 4, 14 ]