Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การทำให้อาร์เรย์ของตัวอักษรที่ซ้อนกันอย่างลึกซึ้งใน JavaScript เรียบขึ้น


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้อาร์เรย์ของตัวอักษรที่ซ้อนกันเป็นอาร์กิวเมนต์เดียว ฟังก์ชันควรสร้างอาร์เรย์ใหม่ที่มีองค์ประกอบตามตัวอักษรทั้งหมดที่มีอยู่ในอาร์เรย์อินพุตแต่ไม่มีการซ้อน

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตเป็น −

const arr = [
   1, 3, [5, 6, [7, [6, 5], 4], 3], [4]
];

จากนั้นอาร์เรย์เอาต์พุตควรเป็น −

const output = [1, 3, 5, 6, 7, 6, 5, 4, 3, 4];

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr = [
   1, 3, [5, 6, [7, [6, 5], 4], 3], [4]
];
const flattenArray = (arr = []) => {
   const res = [];
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      if(Array.isArray(el)){
         res.push(...flattenArray(el));
      }else{
         res.push(el);
      };
   };
   return res;
};
console.log(flattenArray(arr));

ผลลัพธ์

ต่อไปนี้เป็นผลลัพธ์บนคอนโซล -

[
   1, 3, 5, 6, 7,
   6, 5, 4, 3, 4
]