Options
All
  • Public
  • Public/Protected
  • All
Menu

@thi.ng/arrays

arrays

npm versionnpm downloads Twitter Follow

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

About

Array / Arraylike utilities.

Status

STABLE - used in production

Installation

yarn add @thi.ng/arrays
// ES module
<script type="module" src="https://unpkg.com/@thi.ng/arrays?module" crossorigin></script>

// UMD
<script src="https://unpkg.com/@thi.ng/arrays/lib/index.umd.js" crossorigin></script>

Package sizes (gzipped, pre-treeshake): ESM: 1.73 KB / CJS: 1.88 KB / UMD: 1.88 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

License

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

Generated using TypeDoc