w3resource

JavaScript: Chunk an array into smaller arrays of a specified size

JavaScript fundamental (ES6 Syntax): Exercise-265 with Solution

Chunk Array

Write a JavaScript program to chunk an array into smaller arrays of a specified size.

  • Use Array.from() to create a new array, that fits the number of chunks that will be produced.
  • Use Array.prototype.slice() to map each element of the new array to a chunk the length of size.
  • If the original array can't be split evenly, the final chunk will contain the remaining elements.

Sample Solution:

JavaScript Code:

// Define a function 'chunk' to split an array into smaller chunks of a specified size
const chunk = (arr, size) =>
  // Use Array.from to create a new array with a length equal to the number of chunks needed
  Array.from({ length: Math.ceil(arr.length / size) }, (v, i) =>
    // For each element in the new array, slice the original array to extract a chunk of 'size' elements
    arr.slice(i * size, i * size + size)
  );

// Test the function with a sample array and chunk size
console.log(chunk([1, 2, 3, 4, 5], 2)); // Output: [[1, 2], [3, 4], [5]]

Output:

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

Visual Presentation:

JavaScript Fundamental: Chunk an array into smaller arrays of a specified size.

Flowchart:

flowchart: Chunk an array into smaller arrays of a specified size.

Live Demo:

See the Pen javascript-basic-exercise-265-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to capitalize the first letter of every word in a string.
Next: Write a JavaScript program to clamp a number within the inclusive range specified by the given boundary values a and b.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-265.php