From 57cc7726e956b49d92cf3496e08e898cd7938659 Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Tue, 5 Mar 2024 02:10:20 +0000 Subject: [PATCH] Auto-generated commit --- any-in-by/README.md | 185 +++++++++++++++++++++++++ any-in-by/benchmark/benchmark.js | 136 ++++++++++++++++++ any-in-by/benchmark/julia/REQUIRE | 2 + any-in-by/benchmark/julia/benchmark.jl | 144 +++++++++++++++++++ any-in-by/docs/repl.txt | 40 ++++++ any-in-by/docs/types/index.d.ts | 102 ++++++++++++++ any-in-by/docs/types/test.ts | 53 +++++++ any-in-by/examples/index.js | 37 +++++ any-in-by/lib/index.js | 50 +++++++ any-in-by/lib/main.js | 75 ++++++++++ any-in-by/package.json | 67 +++++++++ any-in-by/test/test.js | 181 ++++++++++++++++++++++++ 12 files changed, 1072 insertions(+) create mode 100644 any-in-by/README.md create mode 100644 any-in-by/benchmark/benchmark.js create mode 100644 any-in-by/benchmark/julia/REQUIRE create mode 100644 any-in-by/benchmark/julia/benchmark.jl create mode 100644 any-in-by/docs/repl.txt create mode 100644 any-in-by/docs/types/index.d.ts create mode 100644 any-in-by/docs/types/test.ts create mode 100644 any-in-by/examples/index.js create mode 100644 any-in-by/lib/index.js create mode 100644 any-in-by/lib/main.js create mode 100644 any-in-by/package.json create mode 100644 any-in-by/test/test.js diff --git a/any-in-by/README.md b/any-in-by/README.md new file mode 100644 index 00000000..a774899a --- /dev/null +++ b/any-in-by/README.md @@ -0,0 +1,185 @@ + + +# anyInBy + +> Test whether at least one property in an object passes a test implemented by a predicate function. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var anyInBy = require( '@stdlib/utils/any-in-by' ); +``` + +#### anyInBy( object, predicate\[, thisArg ] ) + +Tests whether at least one property in an `object` passes a test implemented by a `predicate` function. + +```javascript +function isNegative( value ) { + return ( value < 0 ); +} + +var obj = { + 'a': 1, + 'b': 2, + 'c': -1 +}; + +var bool = anyInBy( obj, isNegative ); +// returns true +``` + +If a `predicate` function returns a truthy value, the function **immediately** returns `true`. + +```javascript +function isPositive( value ) { + if ( value < 0 ) { + throw new Error( 'should never reach this line' ); + } + return ( value > 0 ); +} + +var obj = { + 'a': 1, + 'b': -2, + 'c': 3 +}; + +var bool = anyInBy( obj, isPositive ); +// returns true +``` + +The invoked `function` is provided three arguments: + +- `value`: property value +- `key`: property key +- `object`: input object + +To set the function execution context, provide a `thisArg`. + +```javascript +function sum( value ) { + this.sum += value; + this.count += 1; + return ( value < 0 ); +} + +var obj = { + 'a': 1, + 'b': 2, + 'c': 3, + 'd': -4 +}; + +var context = { + 'sum': 0, + 'count': 0 +}; + +var bool = anyInBy( obj, sum, context ); +// returns true + +var mean = context.sum / context.count; +// returns 0.5 +``` + +
+ + + + + +
+ +## Notes + +- The `obj` object may contain own properties as well as inherited properties from its prototype chain. + +- If provided an empty object, the function returns `false`. + + ```javascript + function alwaysTrue() { + return true; + } + var bool = anyInBy( {}, alwaysTrue ); + // returns false + ``` + +
+ + + + + + +
+ +## Examples + + + +```javascript +var randu = require( '@stdlib/random/base/randu' ); +var anyInBy = require( '@stdlib/utils/any-in-by' ); + +function threshold( value ) { + return ( value > 0.95 ); +} + +var bool; +var obj = {}; +var i; + +for ( i = 0; i < 100; i++ ) { + obj[i] = randu(); +} + +bool = anyInBy( obj, threshold ); +// returns +``` + +
+ + + + + +
+ +
+ + + + + +