เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้อาร์เรย์ของตัวเลขที่มีความยาว N โดยที่ N เป็นจำนวนเต็มคู่บวกและแบ่งอาร์เรย์ออกเป็นสองอาร์เรย์ย่อย (เช่น ซ้ายและขวา) ที่มีองค์ประกอบ 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