JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 46277
  • Score
    100M100P100Q144081F
  • License MIT

Like array.some, but with exclusivity. Useful when you need to determine partially selected states - like partially selecting tree nodes when some but not all child nodes are checked.

Package Exports

  • array.partial

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (array.partial) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

array.partial Build Status

Like array.some but with exclusivity

Useful when you need to determine "partially" selected states - like partially selecting tree nodes when some but not all child nodes are checked.

In fact, the idea originated while building a feature for my own react-dropdown-tree-select component.

Why

array.some returns true when at least one element matches. array.every returns true when all elements match. array.some will also return true when array.every returns true.

array.partial is something in between. It returns true only, and only when some (but not all) elements match. If all elements match, then it'll return false.

This can also be achieved with array.some && !array.every if you don't mind iterating over the array twice. This module does it with one iteration over the array.

Install

npm install array.partial

Usage

const partial = require('array.partial')
partial(array, callback)

API

partial(array, callback)

array

Type: Array - Input array

callback

Type: Function - Function is a predicate, to test each element of the array. This is called with same arguments as array.filter

Examples

const partial = require('array.partial')

const myArr = [{id: 'a1', checked: true}, {id: 'a2', checked: false}]
partial(myArr, x => x.checked)  // -> true

// ...

const myArr = [{id: 'a1', checked: true}, {id: 'a2', checked: true}]
partial(myArr, x => x.checked)  // -> false

// ...

const myArr = [{id: 'a1', checked: false}, {id: 'a2', checked: false}]
partial(myArr, x => x.checked)  // -> false

License

MIT © Hrusikesh Panda