ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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 ]