Test name | Executions per second |
---|---|
native slice | 10737.5 Ops/sec |
native reduce | 414.4 Ops/sec |
lodash chunk | 2973.0 Ops/sec |
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js'></script>
var test = Array.from({
length: 100000
}, () => Math.random())
const chunkSize = 80;
const chunks = [];
for (let i = 0; i <= test.length; i += chunkSize) {
chunks.push(test.slice(i, i + chunkSize));
}
const chunkSize = 80;
test.reduce((accu, element, idx) => {
if (idx % chunkSize === 0) {
accu.push([]);
}
const chunk = accu[accu.length - 1];
chunk.push(element);
return accu;
}, []);
_.chunk(test,80)