New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

sort-ids

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sort-ids

Calculate sorting identifiers

latest
Source
npmnpm
Version
3.0.1
Version published
Maintainers
1
Created
Source

sort-ids test

Sort input array, return sorted ids of the array items, keeping the initial array unchanged.

Useful to perform linked sorting of multiple arrays, where linked array[s] should be sorted the same way as the primary one.

npm install sort-ids

import sortIds from 'sort-ids'
import reorder from 'array-rearrange'

const rates = [.12, .47, .52, .97, ...sourceNumbers]
const names = ['John', 'Alexa', 'Jimmy', 'Kate', ...linkedItems]

const ids = sortIds(rates)

const sortedRates = reorder(rates, ids)
const sortedNames = reorder(names, ids)

ids = sortIds(array, ids?, precise=true)

Calculate ids corresponding to sorted input array. The input array isn't changed. Optionally pass input ids - some initial order of ids. precise flag makes sure no missorts took place and resolves them, if any. Disabling that can save ~30ms for 1e6 items input arrays.

See also array-rearrange for reordering input array based on a list of ids.

Motivation

This package is >= 6 times faster compared to sorting function. That is achieved by packing input value - id pairs into a single float64 value and performing native sort on that Float64Array, then unpacking the ids back.

Acknowledgement

The idea was proposed by Robert Monfera for snap-points-2d and eventually implemented. But there may be other applications, like sorting colors etc.

License

(c) 2018 Dmitry Iv. MIT License

Keywords

uint8

FAQs

Package last updated on 05 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts