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

ผลรวมของผลคูณซับอาร์เรย์ใน JavaScript

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขความยาว N โดยที่ N เป็นจำนวนเต็มคู่บวก และแบ่งอาร์เรย์ออกเป็นสองซับอาร์เรย์ (left และ right) ที่มี N/2 องค์ประกอบแต่ละอัน

ฟังก์ชันควรทำผลคูณของซับอาร์เรย์ทั้งสองแล้วบวกผลลัพธ์ทั้งสองเข้าด้วยกัน

ตัวอย่างเช่น ถ้าอาร์เรย์อินพุตคือ:

const arr = [1, 2, 3, 4, 5, 6]

ผลลัพธ์ควรเป็น:

(1*2*3) + (4*5*6)
6+120
126

โค้ดสำหรับเรื่องนี้จะเป็น:

const arr = [1, 2, 3, 4, 5, 6]
const subArrayProduct = arr => {
  const { length: l } = arr;
  const creds = arr.reduce((acc, val, ind) => {
    let { left, right } = acc;
    if (ind < l/2) {
      left *= val;
    } else {
      right *= val;
    }
    return { left, right };
  }, {
    left: 1,
    right: 1
  });
  return creds.left + creds.right;
};
console.log(subArrayProduct(arr));

ผลลัพธ์บนคอนโซล:

126