先上代码:
javascriptvar value=[1,2,3,4,5,6]; var result=[]; var i; function find(i){ if(i<4){ result[i]=value[i] find(i+1); } else return result; } find(0);
用了递归来给result数组赋值,上述代码把value数组的前4个元素赋值给result数组,我只想知道为什么这样写不对,返回的是undefined
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你实际上是添加进去了的,但只是没有打印出来而已。不信你执行完你的代码再
console.log(result)试试。那为啥没打印出来呢?因为控制台执行完之后返回的是find(0)函数的返回值,而find(0)中并不会进入else语句中,所以自然没有返回值。有人会说不是还有find(4)嘛?,那么我请问,find(4)你打印了么?没有 return 函数的返回值为undefined