Maison > Questions et réponses > le corps du texte
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].
P粉0091864692023-09-23 00:09:10
Vous devez renvoyer le résultat de la récursion :
volonté
getFirstHalf(firstHalf);
changé en
return getFirstHalf(firstHalf);