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
const arrayWithItems = arrayWithItems.slice();
arrayWithItems.push(newItem);
const arrayWithNewItems = arrayWithItems.sort(sortComparator);
const insertPosition = pushAtSortPosition(
arrayWithItems,
newItem,
sortComparator,
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: