w3resource

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

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

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:

//#Source https://bit.ly/2neWfJ2 
const chunk = (arr, size) =>
  Array.from({ length: Math.ceil(arr.length / size) }, (v, i) =>
    arr.slice(i * size, i * size + size)
  );
console.log(chunk([1, 2, 3, 4, 5], 2));

Sample Output:

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

Pictorial 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?



JavaScript: Tips of the Day

Spread operator

const user = { name: 'Owen', age: 21 };
const admin = { admin: true, ...user };

console.log(admin);

It's possible to combine objects using the spread operator .... It lets you create copies of the key/value pairs of one object, and add them to another object. In this case, we create copies of the user object, and add them to the admin object. The admin object now contains the copied key/value pairs, which results in { admin: true, name: "Owen", age: 21 }.

Ref: https://bit.ly/323Y0P6