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 ] ]