Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

คืนค่าอาร์เรย์ที่ใหญ่ที่สุดระหว่างอาร์เรย์ใน JavaScript


เรามีอาร์เรย์ของอาร์เรย์ที่มีตัวเลขบางจำนวน เราต้องเขียนฟังก์ชันที่รับอาร์เรย์นั้นและคืนค่าดัชนีของ 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