เรามีอาร์เรย์ของอาร์เรย์ที่มีตัวเลขบางจำนวน เราต้องเขียนฟังก์ชันที่รับอาร์เรย์นั้นและคืนค่าดัชนีของ subarray ที่มีผลรวมมากที่สุด ถ้ามี subarray มากกว่าหนึ่งที่มีผลรวมสูงสุดเท่ากัน เราต้องคืนค่าดัชนีของ subarray แรกที่เป็นเช่นนั้น
ดังนั้น มาเขียนโค้ดสำหรับนี้
ตัวอย่าง
const arr = [[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]; const findMaxSubArray = (arr) => { const add = (array) => array.reduce((acc, val) => acc+val); return arr.reduce((acc, val, ind) => { const sum = add(val); if(sum > acc.sum){ return { index: ind, sum } }; return acc; }, { index: -1, sum: -Infinity }).index; }; console.log(findMaxSubArray(arr));ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้
3