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].
Anda perlu mengembalikan hasil daripada rekursi:
akan
ditukar kepada