Maintenant je travaille sur un exercice dans freecodecamp. Actuellement, j'ai une erreur logique mais je ne sais pas pourquoi l'échec se produit.
Dans le code, je dois construire une fonction, qui coupe le tableau d'entrée en fonction du paramètre. Le résultat du test doit être le suivant :
chunkArrayInGroups(["a", "b", "c", "d"], 2) should return [["a", "b"], ["c", "d"]].
chunkArrayInGroups([0, 1, 2, 3, 4, 5], 3) should return [[0, 1, 2], [3, 4, 5]].
chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6, 7, 8], 4) should return [[0, 1, 2, 3], [4, 5, 6, 7], [8]].
chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6, 7, 8], 2) should return [[0, 1], [2, 3], [4, 5], [6, 7], [8]].
Et mon code est le suivant :
function chunkArrayInGroups(arr, size) {
var array = [];
for (var x = 0; x < arr.length ; x+=size){
var spliceArr = arr.splice(0,size);
array.push(spliceArr);
}
array.push(arr);
return array;
}
chunkArrayInGroups(["a", "b", "c", "d","e"], 2);
Pour la plupart des conditions, le code fonctionne. Mais pour la dernière condition, c'est-à-dire
chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6, 7, 8], 2) should return [[0, 1], [2, 3], [4, 5], [6, 7], [8]].
dans ce cas, je n'arrive pas à obtenir la bonne réponse. J'ai testé dans le journal de la console, et il s'avère que le résultat est le suivant
[[0, 1], [2, 3], [4, 5], [6, 7, 8]].
Je sais que ce n'est pas une question difficile et qu'il y a beaucoup de meilleures façons de l'aborder, mais puis-je savoir quel est le défaut de logique dans ce code ? Merci beaucoup !