J'essaie de diviser un tableau en sous-bras la base sur la longueur de la taille donnée, je l'ai presque obtenu mais le résultat a un problème.
[[ 1, 2], [3, 4]]
4 Réponses :
Vous sautez des indices à l'aide de p> i + = taille code> (dans votre cas,
2 code> est livré après
0 code> donc élément d'index
1 code> reste
non défini code>), utilisez un tableau
[] [] code> et
poussant code>:
function chunks(array, size) {
var chunk = [];
for (let i = 0, j = 0; i < array.length; i += size, j++) {
chunk[j] = array.slice(i, i + size);
}
return chunk;
}
console.log(chunks([1, 2, 3, 4], 2))
function chunks(array, size) { var chunk = new Array(Math.floor(array.length / size)); var counter = -1; for (let i = 0; i < array.length; i += size) { chunk[++counter] = array.slice(i, i + size); } return chunk; } console.log(chunks([1, 2, 3, 4], 2))
function chunks(array, size) { var chunk = new Array(size); var index = 0; // current index where we are going to insert value for (let i = 0; i <array.length; i+=size) { chunk[index] = array.slice(i,i+size); index++; // or you can do chunk.push(array.slice(i,i+size)); in one line } return chunk; } console.log(chunks([1, 2, 3, 4], 2))
function chunks(array, size) { if (!array.length || !parseInt(size)) { return array; } const isNeedOneMore = array.length % size > 0 ? 1 : 0; let chunksLength = (parseInt(array.length / size) + isNeedOneMore); let chunks = []; while (chunksLength > 0) { let chunk = []; let s = size; while (s > 0 && array.length > 0) { chunk.push(array.shift()); s--; } chunks.push(chunk); chunksLength--; } return chunks; } console.log(chunks([1, 2, 3, 4], 2));