先上代码:javascriptvarvalue=[1,2,3,4,5,6];varresult=[];vari;functionfind(i){if(i
2 回答
温温酱
TA贡献1752条经验 获得超4个赞
varvalue=[1,2,3,4,5,6];varresult=[];vari;functionfind(i){if(i<4){result[i]=value[i]find(i+1);}returnresult;}find(0);你实际上是添加进去了的,但只是没有打印出来而已。不信你执行完你的代码再console.log(result)试试。那为啥没打印出来呢?因为控制台执行完之后返回的是find(0)函数的返回值,而find(0)中并不会进入else语句中,所以自然没有返回值。有人会说不是还有find(4)嘛?,那么我请问,find(4)你打印了么?
波斯汪
TA贡献1811条经验 获得超4个赞
没有return函数的返回值为undefinedvarvalue=[1,2,3,4,5,6];varresult=[];vari;functionfind(i){if(i<4){result[i]=value[i]returnfind(i+1);}else{returnresult;}}find(0);//或者你可以这样写varvalue=[1,2,3,4,5,6];varresult=[];vari;functionfind(i){if(i<4){result[i]=value[i]find(i+1);}}find(0);console.log(result);//就是你想要的结果
添加回答
举报
0/150
提交
取消