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

แปลงอาร์เรย์เป็นอาร์เรย์ของอาร์เรย์ย่อย - JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวอักษรและส่งคืนอาร์เรย์ใหม่ที่มีองค์ประกอบของอาร์เรย์ดั้งเดิมที่แบ่งเป็นอาร์เรย์ย่อยที่มีความยาว 2

ตอนนี้หากความยาวของอาร์เรย์เดิมหารด้วย 2 ไม่ได้ทุกประการ ดังนั้นอาร์เรย์ย่อยสุดท้ายควรมีเพียงหนึ่งองค์ประกอบ

ตัวอย่างเช่น

หากอาร์เรย์อินพุตเป็น −

const arr = [1, 2, 3, 4, 5, 6, 7];

จากนั้นผลลัพธ์ควรเป็น −

const output = [[1, 2], [3, 4], [5, 6], [7]]

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr = [1, 2, 3, 4, 5, 6, 7];
const chunk = arr => {
   const size = 2;
   const chunkedArray = [];
   for (let i = 0; i < arr.length; i++) {
      const last = chunkedArray[chunkedArray.length - 1];
      if(!last || last.length === size){
         chunkedArray.push([arr[i]]);
      }else{
         last.push(arr[i]);
      }
   };
   return chunkedArray;
};
console.log(chunk(arr));

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้บนคอนโซล -

[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 7 ] ]