Sorts an array of numbers, using the insertion sort algorithm.
Array.prototype.reduce()
to iterate over all the elements in the given array.length
of the accumulator is 0
, add the current element to it.Array.prototype.some()
to iterate over the results in the accumulator until the correct position is found.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]
JavaScript, Algorithm
Sorts an array of numbers, using the heapsort algorithm.
JavaScript, Algorithm
Sorts an array of numbers, using the bucket sort algorithm.
JavaScript, Algorithm
Sorts an array of numbers, using the quicksort algorithm.