เราต้องเขียนฟังก์ชันง่ายๆ ใน JavaScript ที่รับอาร์เรย์ของตัวเลข (ซ้อนได้ทุกระดับ) และคืนค่าตัวเลขที่มากที่สุดในอาร์เรย์
ตัวอย่างเช่น - ถ้าอาร์เรย์อินพุตคือ:
const arr = [
34, 65, 67,
[
43, 76, 87, 23, 56, 7,
[
54, 7, 87, 23, 79, 314, 2
],
54
],
54, 4, 2
];
ผลลัพธ์ควรเป็น:
314
เราจะใช้ recursion เพื่อหาตัวเลขมากที่สุดในอาร์เรย์ มาเขียนโค้ดกัน:
ตัวอย่างโค้ด
const arr = [
34, 65, 67,
[
43, 76, 87, 23, 56, 7,
[
54, 7, 87, 23, 79, 314, 2
],
54
],
54, 4, 2
];
const findGreatest = (arr, greatest = -Infinity) => {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
return findGreatest(arr[i], greatest);
}
if (arr[i] > greatest) {
greatest = arr[i];
}
}
return greatest;
};
console.log(findGreatest(arr));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้:
314