Il y a un problème lorsque la fonction getFirstHalf renvoie le résultat
P粉311617763
P粉311617763 2023-09-22 08:49:09
0
1
806

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粉311617763
P粉311617763

répondre à tous(1)
P粉009186469

Vous devez renvoyer le résultat de la récursion :

volonté

getFirstHalf(firstHalf);

changé en

return getFirstHalf(firstHalf);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal