noneInBy
Test whether every property of an object fails a test implemented by a predicate function.
Usage
var noneInBy = require( '@stdlib/utils/none-in-by' );
noneInBy( object, predicate[, thisArg ] )
Tests whether every property of an object
fails a test implemented by a predicate
function.
function isUnderage( age ) {
return ( age < 18 );
}
var obj = {
'a': 28,
'b': 22,
'c': 25
};
var bool = noneInBy( obj, isUnderage );
// returns true
If a predicate
function returns a truthy value, the function immediately returns false
.
function isUnderage( age ) {
return ( age < 18 );
}
var obj = {
'a': 12,
'b': 22,
'c': 25
};
var bool = noneInBy( obj, isUnderage );
// returns false
The invoked function
is provided three agruments:
- value: property value.
- key: property key.
- object: input object.
To set the function execution context, provide a thisArg
.
function sum( value ) {
if ( value < 0 ) {
return true;
}
this.sum += value;
this.count += 1;
return false;
}
var obj = {
'a': 1,
'b': 2,
'c': 3,
'd': 4
};
var context = {
'sum': 0,
'count': 0
};
var bool = noneInBy( obj, sum, context );
// returns true
var mean = context.sum / context.count;
// returns 2.5
Notes
If the 1st argument is not an object or the second argument is not a fuction , the function throws a Type Error.
If provided an empty object, the function returns
true
.function truthy() { return true; } var bool = noneInBy( {}, truthy ); // returns true
The function does not skip
undefined
elements.function log( value, index ) { console.log( '%s: %s', index, value ); return false; } var obj = { 'a': 1, 'b': NaN, 'c': NaN, 'd': 4 }; var bool = noneInBy( arr, log ); /* => 0: 1 1: undefined 2: undefined 3: 4 */
Examples
var noneInBy = require( '@stdlib/utils/none-in-by' );
function isUnderage( age ) {
return age < 18;
}
var obj = {
'a': 26,
'b': 20,
'c': 25
};
var bool = noneInBy( obj, isUnderage );
// returns true