Test name | Executions per second |
---|---|
.forEach | 137823.6 Ops/sec |
for..of | 144124.4 Ops/sec |
for..of (destructuring) | 104607.4 Ops/sec |
.map | 102005.7 Ops/sec |
.map (destructuring) | 102275.8 Ops/sec |
.for (init array) | 128094.4 Ops/sec |
.reduce | 116140.6 Ops/sec |
.reduce (destructuring) | 115085.2 Ops/sec |
for..of (reduce) | 149802.0 Ops/sec |
for..of (reduce) (destructuring) | 149635.4 Ops/sec |
function generateTestArray() {
const result = [];
for (let i = 0; i < 1000; ++i) {
result.push({
a: i,
b: i / 2,
r: 0,
});
}
return result;
}
const array = generateTestArray();
array.forEach((x) => {
x.r = x.a + x.b;
});
const array = generateTestArray();
for(const x of array) {
x.r = x.a + x.b;
}
const array = generateTestArray();
const r = [];
for(const {a, b} of array) {
r.push(a + b);
}
const array = generateTestArray();
array.map(x => x.a + x.b)
const array = generateTestArray();
array.map(({a,b}) => a + b)
const array = generateTestArray();
const r = new Array(array.length);
for (let i = 0; i < array.length; ++i) {
r[i] = array[i].a + array[i].b;
}
const array = generateTestArray();
array.reduce((p, x) => p + x.a + x.b, 0);
const array = generateTestArray();
array.reduce((p, {a,b}) => p + a + b, 0);
const array = generateTestArray();
let r = 0;
for (const x of array) {
r += x.a + x.b;
}
const array = generateTestArray();
let r = 0;
for (const {a,b} of array) {
r += a + b;
}