สมมติว่าเรามีอาร์เรย์ซ้อนดังนี้
const arr = ['zero', ['one', 'two' , 'three', ['four', ['five', 'six', ['seven']]]]];
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ซ้อน ฟังก์ชันควรคืนค่าสตริงที่ประกอบด้วยองค์ประกอบอาร์เรย์ทั้งหมดรวมด้วยเครื่องหมายเซมิโคลอน (;)
ดังนั้น สำหรับอาร์เรย์ข้างต้น ผลลัพธ์ควรเป็นดังนี้
const output = 'zero;one;two;three;four;five;six;seven;';
ตัวอย่างโค้ด
โค้ดสำหรับการทำงานนี้จะเป็นดังนี้
const arr = ['zero', ['one', 'two' , 'three', ['four', ['five', 'six', ['seven']]]]];
const buildString = (arr = [], res = '') => {
for(let i = 0; i < arr.length; i++){
if(Array.isArray(arr[i])){
return buildString(arr[i], res);
}
else{
res += `${arr[i]};`
};
};
return res;
};
console.log(buildString(arr));ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้
zero;one;two;three;four;five;six;seven;