Es liegt ein Problem vor, wenn die Funktion getFirstHalf das Ergebnis zurückgibt
P粉311617763
P粉311617763 2023-09-22 08:49:09
0
1
787

Ich entwickle eine Funktion, die ein Array nimmt und die erste Hälfte des Arrays zurückgibt, sich aber vor der Rückgabe selbst aufruft, bis die Länge des Arrays 1 beträgt:

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

Alles funktioniert wie erwartet, bis die Zeile, in der das Ergebnis zurückgegeben wird, den vorherigen Wert erhält, bis es die erste Hälfte des ersten Zustands des Arrays ist. Ich hoffe, Sie verstehen, was ich meine.

Zum Beispiel:

const myArray = [1,2,3,4,5,6,7,8];
console.log(getFirstHalf(numbers));

Ich hatte erwartet, als Ergebnis [1] zu bekommen, aber ich bekam [1,2,3,4].

P粉311617763
P粉311617763

Antworte allen(1)
P粉009186469

你需要从递归中返回结果:

getFirstHalf(firstHalf);

改为

return getFirstHalf(firstHalf);
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage