Test name | Executions per second |
---|---|
Reduce (object) | 2439.2 Ops/sec |
Reduce (Map) | 1638.2 Ops/sec |
for-of (object) | 1851825536.0 Ops/sec |
for-of (Map) | 1862645120.0 Ops/sec |
var data = { Array.from(Array(10000).keys()) };
Object.keys(data)
.filter(key => Number(key) % 2 === 0)
.reduce((acc, key) => {
acc[key] = data[key];
return acc;
}, {});
Object.keys(data)
.filter(key => Number(key) % 2 === 0)
.reduce((acc, key) => {
acc.set(key, data[key]);
return acc;
}, new Map());
const filter = (val) => {
const result = {}
for (const key in val) {
if (Number(key) % 2 === 0) {
continue;
}
result[key] = val[key];
}
return result;
};
const filter = (val) => {
const result = new Map();
for (const key in val) {
if (Number(key) % 2 === 0) {
continue;
}
result.set(key, val[key]);
}
return Object.fromEntries(result.entries());
};