Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng các số có độ dài N (N phải là số chẵn) và chia mảng thành hai mảng con (bên trái và bên phải) chứa N / 2 phần tử mỗi các subarrays và sau đó nhân cả hai subarrays.
Ví dụ:Nếu mảng đầu vào là -
const arr = [1, 2, 3, 4]
Sau đó, đầu ra phải là -
(2+1) * (3+4) = 21
Ví dụ
Sau đây là mã -
const arr = [1, 2, 3, 4]
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: 0,
right: 0
});
return creds.left * creds.right;
};
console.log(subArrayProduct(arr)); Đầu ra
Sau đây là đầu ra trong bảng điều khiển -
21