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?

Test your Programming skills with w3resource's quiz.



JavaScript: Tips of the Day

Converts a string to title case

Example:

const toTitleCase = str =>
  str
    .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)
    .map(x => x.charAt(0).toUpperCase() + x.slice(1))
    .join(' ');
console.log(toTitleCase('some_database_field_name')); // 'Some Database Field Name'
console.log(toTitleCase('Some label that needs to be title-cased')); // 'Some Label That Needs To Be Title Cased'
console.log(toTitleCase('some-package-name')); // 'Some Package Name'
console.log(toTitleCase('some-mixed_string with spaces_underscores-and-hyphens')); // 'Some Mixed String With Spaces Underscores And Hyphens' 

Output:

"Some Database Field Name"
"Some Label That Needs To Be Title Cased"
"Some Package Name"
"Some Mixed String With Spaces Underscores And Hyphens"