Je développe une fonction qui prend un tableau et renvoie la première moitié du tableau, mais avant de renvoyer, elle s'appelle jusqu'à ce que la longueur du tableau soit 1 :
const getFirstHalf = function (array) { const firstHalf = []; for (let i = 0; i < Math.trunc(array.length / 2); i++) { firstHalf.push(array[i]); } if (firstHalf.length !== 1) { getFirstHalf(firstHalf); } return firstHalf; };
Tout fonctionne comme prévu, jusqu'à la ligne où le résultat est renvoyé, le tableau obtient la valeur précédente jusqu'à ce qu'il soit la première moitié du premier état du tableau. J'espère que vous comprenez ce que je veux dire.
Par exemple :
const myArray = [1,2,3,4,5,6,7,8]; console.log(getFirstHalf(numbers));
Je m'attendais à obtenir [1] comme résultat, mais j'ai obtenu [1,2,3,4].
Vous devez renvoyer le résultat de la récursion :
volonté
changé en