亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我這樣給數組賦值然后return賦值后的數組是undefined

為什么我這樣給數組賦值然后return賦值后的數組是undefined

瀟瀟雨雨 2019-04-08 09:21:51
先上代碼: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)你打印了么?
                            
查看完整回答
反對 回復 2019-04-08
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

沒有return函數的返回值為undefined
varvalue=[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);//就是你想要的結果
                            
查看完整回答
反對 回復 2019-04-08
  • 2 回答
  • 0 關注
  • 793 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號