array-push-at-sort-position
TypeScript icon, indicating that this package has built-in type declarations

4.0.1 • Public • Published

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:

Package Sidebar

Install

npm i array-push-at-sort-position

Weekly Downloads

25,703

Version

4.0.1

License

Apache-2.0

Unpacked Size

21.5 kB

Total Files

13

Last publish

Collaborators

  • pubkey