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:

/array-push-at-sort-position/

    Package Sidebar

    Install

    npm i array-push-at-sort-position

    Weekly Downloads

    13,938

    Version

    4.0.1

    License

    Apache-2.0

    Unpacked Size

    21.5 kB

    Total Files

    13

    Last publish

    Collaborators

    • pubkey