ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลข arr เป็นอาร์กิวเมนต์แรกและตัวเลข num (num <=length of array) เป็นอาร์กิวเมนต์ที่สอง
ฟังก์ชันของเราควรเพิ่มแต่ละ subarray ที่ต่อเนื่องกันของความยาว num ของ array arr เพื่อสร้างองค์ประกอบที่สอดคล้องกันของอาร์เรย์ใหม่และสุดท้ายส่งคืนอาร์เรย์ใหม่นั้น
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −
const arr = [1, 2, 3, 4, 5, 6]; const num = 2;
จากนั้นผลลัพธ์ควรเป็น−
const output = [3, 5, 7, 9, 11];
คำอธิบายผลลัพธ์
เพราะ 1 + 2 =3, 2 + 3 =5 เป็นต้น...
ตัวอย่าง
ต่อไปนี้เป็นรหัส−
const arr = [1, 2, 3, 4, 5, 6];
const num = 2;
const accumulateArray = (arr = [], num = 1) => {
const res = [];
let sum = 0, right = 0, left = 0;
for(; right < num; right++){
sum += arr[right];
};
res.push(sum);
while(right < arr.length){
sum -= arr[left];
sum += arr[right];
right++;
left++;
res.push(sum);
};
return res;
};
console.log(accumulateArray(arr, num)); ผลลัพธ์
ต่อไปนี้เป็นเอาต์พุตคอนโซล-
[3, 5, 7, 9, 11]