Maison  >  Questions et réponses  >  le corps du texte

Il y a un problème lorsque la fonction getFirstHalf renvoie le résultat

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粉311617763P粉311617763393 Il y a quelques jours772

répondre à tous(1)je répondrai

  • P粉009186469

    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);
    

    répondre
    0
  • Annulerrépondre