Skip to content

pubkey/array-push-at-sort-position

Repository files navigation

array-push-at-sort-position

Push items to an array at their correct sort-position which is much faster then re-sorting the array.

Adding an item to an array with push() and sort() has O(n*log(n)) while inserting the item at the correct sort-position has O(n).

  npm install array-push-at-sort-position --save
// instead of pushing and resorting like this:
const arrayWithItems = arrayWithItems.slice();
arrayWithItems.push(newItem);
const arrayWithNewItems = arrayWithItems.sort(sortComparator);

// you can push the newItem directly into the correct sorting position
const insertPosition = pushAtSortPosition(
  arrayWithItems,
  newItem,
  sortComparator,
  /**
   * Start lowest index
   * Use 0 by default. If you use this method to merge sorted arrays, you might
   * use a  higher value if you know that the newItem will not be positioned before that index.
   */
  0
);

Important

  • Calling pushAtSortPosition will not copy the array. It will mutate the input array. Call array.slice(0) on the input if you do not want the original array to be mutated.

See also

I tested many implementations and refactored the best ones. Some other modules:

About

Push items to an array at their correct sort-position

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •