Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การรวบรวมองค์ประกอบอาร์เรย์เพื่อสร้างอาร์เรย์ใหม่ใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน 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]