在 JavaScript 中交替合併陣列元素
問題
我們需要編寫一個 JavaScript 函式,它接受任意數量的文字陣列作為輸入。
函式應準備一個新陣列,其中包含從所有輸入陣列中交替選取的元素。
例如,如果函式的輸入為 -
輸入
const arr1 = [1, 2, 3, 4]; const arr2 = [11, 12, 13, 14]; const arr3 = ['a', 'b', 'c'];
輸出
const output = [1, 11, 'a', 2, 12, 'b', 3, 13, 'c', 4, 14];
示例
以下是程式碼 -
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));輸出
[ 1, 11, 'a', 2, 12, 'b', 3, 13, 'c', 4, 14 ]
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP