Test name | Executions per second |
---|---|
lodash | 671.5 Ops/sec |
native new | 5702.0 Ops/sec |
native old | 5398.5 Ops/sec |
native for loop | 1010.4 Ops/sec |
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
var values = new Array(200 * 200 * 4)
var chunks = _.chunk(values, 4)
const chunk = (input, size) => {
return input.reduce((arr, item, idx) => {
if (idx % size === 0) {
arr.push([item]);
}
else {
arr[arr.length - 1].push(item);
}
return arr;
}, []);
}
var chunks = chunk(values, 4)
const chunk = (input, size) => {
return input.reduce((arr, item, idx) => {
return idx % size === 0
? [arr, [item]]
: [arr.slice(0, -1), [arr.slice(-1)[0], item]];
}, []);
}
var chunks = chunk(values, 4)
const chunk = (input, size) => {
const arr = [];
for (let i = 0; i < input.length; i += size) {
arr.push(input.slice(i, i + size));
}
return arr;
};
var chunks = chunk(values, 4)