Test name | Executions per second |
---|---|
Spread Push | 3586215.2 Ops/sec |
Concat Reassign | 1724044.4 Ops/sec |
Apply Push | 3462351.0 Ops/sec |
var data = [
1, 2, 3, 4,
[1, 2, 3, 4],
5, 6, 7, 8,
[1, 2, 3, 4]
];
(function fn(items){
var result = [];
items.forEach(item => {
if(item.pop) {
result.push(fn(item));
} else {
result.push(item);
}
});
return result;
})(data);
(function fn(items){
var result = [];
items.forEach(item => {
if(item.pop) {
result = result.concat(fn(item));
} else {
result.push(item);
}
});
return result;
})(data);
(function fn(items){
var result = [];
items.forEach(item => {
if(item.pop) {
result.push.apply(result, fn(item));
} else {
result.push(item);
}
});
return result;
})(data);