@writetome51/array-get-by-test
v4.0.2
Published
Similar to Array.prototype.filter(), except it lets you customize what value to get from the element that passes test
Maintainers
Readme
getByTest( test: (value, index?, array?) => boolean, array, getValue?: (value, index?, array?) => any): any[]
Similar to Array.prototype.filter(), except it includes optional callback getValue(),
which lets you customize what value to get from the element that passes test.
By default getValue() simply returns the element.
Examples
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
getByTest((value) => value >= 9, arr);
// --> [9, 10]
// Return the value and index of each element that passes:
arr = [50, -10, 100, -20, 1000, -100];
getByTest(
(value) => value < 0,
arr,
(value, index) => { return {value, index}; }
);
/***************
Returns:
[
{value: -10, index: 1},
{value: -20, index: 3},
{value: -100, index: 5}
]
***************/
// Get only the indexes:
arr = [50, -10, 100, -20, 1000, -100];
getByTest(
(value) => value < 0,
arr,
(value, index) => index
);
// --> [1, 3, 5]
// Get the square root of each element that passes:
arr = [-2,-4, 9, 16];
getByTest(
(value) => value > 0,
arr,
(value) => Math.sqrt(value)
);
// --> [3, 4]Installation
npm i @writetome51/array-get-by-test
Loading
import {getByTest} from '@writetome51/array-get-by-test';