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

ส่งกลับอาร์เรย์ที่ใหญ่ที่สุดระหว่างอาร์เรย์ JavaScript


เรามีอาร์เรย์ของอาร์เรย์ที่มีตัวเลขอยู่จำนวนหนึ่ง เราต้องเขียนฟังก์ชันที่คืนค่าการรับในอาร์เรย์นั้นและคืนค่าดัชนีของอาร์เรย์ย่อยที่มีผลรวมสูงสุด หากมีอาร์เรย์ย่อยมากกว่าหนึ่งรายการมีผลรวมสูงสุดเท่ากัน เราต้อง คืนค่าดัชนีของ subbarray แรกดังกล่าว

ดังนั้น เรามาเขียนโค้ดสำหรับสิ่งนี้กัน −

ตัวอย่าง

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