ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ที่ซ้อนกันสองอาร์เรย์ arr1 และ arr2 เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์ที่สอง
ฟังก์ชันของเราควรสร้างและส่งคืนอาร์เรย์ที่สามที่มีองค์ประกอบทั้งหมดของ arr1 andarr2 แต่ถูกทำให้แบนเป็นมิติเดียว
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −
const arr1 = [ 1, [ 2, [ 4, 5, [ 6 ] ] ] ]; const arr2 = [ 11, 12, [ 16, 18, [ 19, 21, [ 23 ] ] ] ];
จากนั้นผลลัพธ์ควรเป็น −
const output = [1, 2, 4, 5, 6, 11, 12, 16, 18, 19, 21, 23];
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr1 = [ 1, [ 2, [ 4, 5, [ 6 ] ] ] ]; const arr2 = [ 11, 12, [ 16, 18, [ 19, 21, [ 23 ] ] ] ]; const flattenAndMerge = (arr1 = [], arr2 = []) => { const res = []; const flatten = (arr = []) => { for(let i = 0; i < arr.length; i++){ if(Array.isArray(arr[i])){ flatten(arr[i]); }else if(typeof arr[i] === 'number'){ res.push(arr[i]) }; }; }; flatten(arr1); flatten(arr2); return res; }; console.log(flattenAndMerge(arr1, arr2));
ผลลัพธ์
ต่อไปนี้เป็นเอาต์พุตคอนโซล -
[ 1, 2, 4, 5, 6, 11, 12, 16, 18, 19, 21, 23 ]