Test name | Executions per second |
---|---|
native lodash filter map | 39.9 Ops/sec |
Lazy Lodash filter-map | 31.6 Ops/sec |
lodash reduce | 69.0 Ops/sec |
native reduce | 76.2 Ops/sec |
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.4/lodash.min.js"></script>
var data = Array(1000000).fill({ filtering: true, mapping: 42 });
data.filter(({ filtering }) => filtering).map(({ mapping }) => mapping)
_.map(_.filter(data, 'filtering'), 'mapping')
_.reduce(data, function(result, value, key) {
if (value.filtering) {
result.push(value.mapping)
}
return result;
}, [])
data.reduce(function(result, value, key) {
if (value.filtering) {
result.push(value.mapping)
}
return result;
}, [])