How to Split Array into Chunks in JavaScript

As a JavaScript developer, you may often find yourself needing to split an array into smaller chunks.

This can be useful in a variety of scenarios, such as when you want to display a large list of items on a paginated website, or when you want to break down a large data set into manageable parts for processing.

In this Javascript tutorial, we’ll explore how to split an array into chunks in JavaScript using several different methods.

We’ll cover both traditional for loops and newer, more concise approaches using the array methods slice and splice.


Using for Loop

One of the most straightforward methods of splitting an array into chunks is to use a for loop.

In this method, we’ll loop through the array, taking a specified number of items at a time and creating a new sub-array for each chunk.

Here’s an example of how to use a for loop to split an array into chunks:

function chunkArray(arr, chunkSize) {
  let result = [];
  for (let i = 0; i < arr.length; i += chunkSize) {
    result.push(arr.slice(i, i + chunkSize));
  }
  return result;
}

let myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let chunkedArray = chunkArray(myArray, 3);
console.log(chunkedArray);

Output:

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

Using the Array slice Method

Another method of splitting an array into chunks is to use the slice method.

This method returns a new array containing a specified portion of the original array.

Here’s an example of how to use the slice method to split an array into chunks:

function chunkArray(arr, chunkSize) {
  let result = [];
  let i = 0;
  while (i < arr.length) {
    result.push(arr.slice(i, i + chunkSize));
    i += chunkSize;
  }
  return result;
}

let myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let chunkedArray = chunkArray(myArray, 3);
console.log(chunkedArray);

Output:

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

Using the Array splice Method

Finally, we can also split an array into chunks using the splice method.

The splice method modifies the original array by removing a specified portion and returning it as a new array.

Here’s an example of how to use the splice method to split an array into chunks:

function chunkArray(arr, chunkSize) {
  let result = [];
  while (arr.length) {
    result.push(arr.splice(0, chunkSize));
  }
  return result;
}

let myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let chunkedArray = chunkArray(myArray, 3);
console.log(chunkedArray);

Output:

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

Conclusion

In this post, we covered three methods for splitting an array into chunks in JavaScript: using a for loop, using the slice method, and using the splice method.

Each method has its own strengths and weaknesses, and the best method to use will depend on the specific requirements of your project.

Regardless of which method you choose, splitting an array into chunks is a useful technique that can help you to manage large data sets and break them down into more manageable parts.

Whether you’re a beginner or an experienced JavaScript developer, I hope that this tutorial has provided some valuable insights into this important topic