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

จากอาร์เรย์ของอาร์เรย์ คืนอาร์เรย์ที่แต่ละรายการเป็นผลรวมของซับอาร์เรย์ที่ตรงกันใน JavaScript

ได้รับอาร์เรย์ของอาร์เรย์ ซึ่งแต่ละอันมีชุดตัวเลข เราต้องเขียนฟังก์ชันที่คืนค่าอาร์เรย์ที่แต่ละรายการเป็นผลรวมของทุกรายการในซับอาร์เรย์ที่ตรงกัน

ตัวอย่างเช่น:

ถ้าอาร์เรย์อินพุตคือ:

const numbers = [
  [1, 2, 3, 4],
  [5, 6, 7],
  [8, 9, 10, 11, 12]
];

เอาต์พุทของฟังก์ชันควรเป็น:

const output = [10, 18, 50];

มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน:

ตัวอย่างโค้ด

const numbers = [
  [1, 2, 3, 4],
  [5, 6, 7],
  [8, 9, 10, 11, 12]
];

const sum = arr => arr.reduce((acc, val) => acc + val);

const sumSubArray = arr => {
  return arr.reduce((acc, val) => {
    const s = sum(val);
    acc.push(s);
    return acc;
  }, []);
};

console.log(sumSubArray(numbers));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้:

[10, 18, 50]