Skip to content

Latest commit

 

History

History

arrays

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

arrays

npm version npm downloads Twitter Follow

This project is part of the @thi.ng/umbrella monorepo.

About

Array / Arraylike utilities.

Status

STABLE - used in production

Search or submit any issues for this package

Installation

yarn add @thi.ng/arrays

ES module import:

<script type="module" src="https://cdn.skypack.dev/@thi.ng/arrays"></script>

Skypack documentation

For Node.js REPL:

# with flag only for < v16
node --experimental-repl-await

> const arrays = await import("@thi.ng/arrays");

Package sizes (gzipped, pre-treeshake): ESM: 2.12 KB

Dependencies

API

Generated API docs

Binary search result predicates

The following predicates can be used to perform predecessor / successor queries using binarySearch().

  • bsLT() - Returns index of last item less than search value or -1 if no such values exist
  • bsLE() - Similar to bsLT(), but for less-than-equals queries
  • bsGT() - Returns index of first item greater than search value or -1 if no such values exist
  • bsGE() - Similar to bsGT(), but for less-than-equals queries
  • bsEQ() - Merely syntax sugar, casting any non-found result indices to -1
const src = [10, 20, 30, 40];

bsLT(binarySearch(src, 25))
// 1

// greater-than queries also require the array length

bsGT(binarySearch(src, 25), src.length)
// 2

bsGT(binarySearch(src, 40), src.length)
// -1

Authors

Karsten Schmidt

If this project contributes to an academic publication, please cite it as:

@misc{thing-arrays,
  title = "@thi.ng/arrays",
  author = "Karsten Schmidt",
  note = "https://thi.ng/arrays",
  year = 2018
}

License

© 2018 - 2021 Karsten Schmidt // Apache Software License 2.0