Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng số có độ dài N, chẳng hạn N là số nguyên dương chẵn và chia mảng thành hai mảng con (giả sử, bên trái và bên phải) chứa N / 2 phần tử mỗi mảng.
Hàm phải thực hiện sản phẩm của các mảng con và sau đó thêm cả hai kết quả do đó đạt được.
Ví dụ:Nếu mảng đầu vào là -
const arr = [1, 2, 3, 4, 5, 6]
Sau đó, đầu ra phải là -
(1*2*3) + (4*5*6) 6+120 126
Mã cho điều này sẽ là -
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)); Sau đây là kết quả trên bảng điều khiển -
126