Insertion sort
JavaScript, Algorithm, Array · Dec 28, 2020

Sorts an array of numbers, using the insertion sort algorithm.
- Use
Array.prototype.reduce()
to iterate over all the elements in the given array. - If the
length
of the accumulator is0
, add the current element to it. - Use
Array.prototype.some()
to iterate over the results in the accumulator until the correct position is found. - Use
Array.prototype.splice()
to insert the current element into the accumulator.
const insertionSort = arr =>
arr.reduce((acc, x) => {
if (!acc.length) return [x];
acc.some((y, j) => {
if (x <= y) {
acc.splice(j, 0, x);
return true;
}
if (x > y && j === acc.length - 1) {
acc.splice(j + 1, 0, x);
return true;
}
return false;
});
return acc;
}, []);
insertionSort([6, 3, 4, 1]); // [1, 3, 4, 6]
Written by Angelos Chalaris
I'm Angelos Chalaris, a JavaScript software engineer, based in Athens, Greece. The best snippets from my coding adventures are published here to help others learn to code.
If you want to keep in touch, follow me on GitHub.