I'm developing a function that takes an array and returns the first half of the array, but before returning it calls itself until the length of the array is 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; };
Everything works as expected, until the row where the result is returned, the array gets the previous value until it is the first half of the first state of the array. Hope you understand what I mean.
For example:
const myArray = [1,2,3,4,5,6,7,8]; console.log(getFirstHalf(numbers));
I expected to get [1] as result, but I got [1,2,3,4].
You need to return the result from the recursion:
Will
changed to