Terdapat masalah apabila fungsi getFirstHalf mengembalikan hasilnya
P粉311617763
P粉311617763 2023-09-22 08:49:09
0
1
820

Saya sedang membangunkan fungsi yang mengambil tatasusunan dan mengembalikan separuh pertama tatasusunan, tetapi sebelum mengembalikannya ia memanggil dirinya sendiri sehingga panjang tatasusunan ialah 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;
};

Semuanya berfungsi seperti yang diharapkan, sehingga baris di mana keputusan dikembalikan, tatasusunan mendapat nilai sebelumnya sehingga ia adalah separuh pertama keadaan pertama tatasusunan. Harap awak faham maksud saya.

Contohnya:

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

Saya menjangkakan mendapat [1] sebagai keputusan, tetapi saya mendapat [1,2,3,4].

P粉311617763
P粉311617763

membalas semua(1)
P粉009186469

Anda perlu mengembalikan hasil daripada rekursi:

akan

getFirstHalf(firstHalf);

ditukar kepada

return getFirstHalf(firstHalf);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan