Test name | Executions per second |
---|---|
lodash mapValues | 3643.5 Ops/sec |
vanilla object.keys | 5305.5 Ops/sec |
lodash reduce | 4381.2 Ops/sec |
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
var obj = {}
for (let i = 0; i < 1000; ++i) {
obj[`a${i}`] = i;
}
var transform = (n) => n * n + 1;
const newObj = _.mapValues(obj, (v, k) => transform(v));
const newObj = {};
Object.keys(obj).forEach((key) => {
newObj[key] = transform(obj[key]);
});
const newObj = _.reduce(obj, (acc, val, key) => {
acc[key] = transform(val);
return acc;
})