Menu

gitpiper

stableSort javascript Code Snippet in 2024

arrayadvanced

Last Updated: 20 April 2024

Performs stable sorting of an array, preserving the initial indexes of items when their values are the same.

  • Use Array.prototype.map() to pair each element of the input array with its corresponding index.
  • Use Array.prototype.sort() and a compare function to sort the list, preserving their initial order if the items compared are equal.
  • Use Array.prototype.map() to convert back to the initial array items.
  • Does not mutate the original array, but returns a new array instead.
const stableSort = (arr, compare) => arr .map((item, index) => ({ item, index })) .sort((a, b) => compare(a.item, b.item) || a.index - b.index) .map(({ item }) => item);
const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const stable = stableSort(arr, () => 0); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

javascript snippet similar to stableSort For You in April 2024

Subscribe to our Newsletter

Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️

© 2024 GitPiper. All rights reserved

Rackpiper Technology Inc

Company

About UsBlogContact

Subscribe to our Newsletter

Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️