Test name | Executions per second |
---|---|
Find1 | 3545240.2 Ops/sec |
Find2 | 3544823.2 Ops/sec |
Some1 | 3106454.2 Ops/sec |
Some2 | 3068843.8 Ops/sec |
var arr = [{
type: 'This Thing'
}, {
type: 'Something Else'
}];
var arr2 = [{
type: 'SomethingElse'
}, {
type: 'Something Else'
}]
function _find(items) {
let hasThisThing = false;
let hasSomethingElse = false;
return arr.find(item => {
const isThisThing = item.type === 'This Thing';
hasThisThing = hasThisThing || isThisThing;
hasSomethingElse = hasSomethingElse || !isThisThing;
return hasThisThing && hasSomethingElse;
});
}
function _some(items) {
let hasThisThing = arr.some(item => item.type === 'This Thing');
let hasSomethingElse;
if (hasThisThing) {
hasSomethingElse = arr.some(item => item.type !== 'This Thing');
}
return hasThisThing && hasSomethingElse;
}
_find(arr)
_find(arr2)
_some(arr)
_some(arr2)