Test name | Executions per second |
---|---|
lodash | 527.1 Ops/sec |
you-dont-need | 1687.1 Ops/sec |
youmightnotneed | 1.9 Ops/sec |
custom | 108.7 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);
const 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]];
}, []);
};
const chunks = chunk(values, 4);
const chunk = (arr, chunkSize = 1, cache = []) => {
const tmp = [arr]
if (chunkSize <= 0) return cache
while (tmp.length) cache.push(tmp.splice(0, chunkSize))
return cache
}
const chunks = chunk(values, 4);
var chunks = [];
for (var i = 0; i < values.length; i += 4) {
chunks.push(values.slice(i, i + 4));
}