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

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么forEach方法多出個undefine?

代碼如下

var?arr?=?[20,3,8,11,18];
arr.forEach(function(x,index,b){
??console.log(x+","+index+"$"+(b?===?arr));
});

在firebug上運行結果如下,哪位大神幫忙看一下什么緣故,謝了

http://img1.sycdn.imooc.com//5a1031c60001c49707110607.jpg


正在回答

5 回答

語句沒錯,問題可能不是foreach出現的

0 回復 有任何疑惑可以回復我~

你好,你這個undefined并不是因為代碼而輸出的。是類似以下這種情況的原因。https://img1.sycdn.imooc.com//5c0cfbe30001c5ce06640258.jpg

0 回復 有任何疑惑可以回復我~

你看到你的代碼了沒有沒?18后面還有個,號這個逗號就代表后面還有個空值。所以就多個

undefine,你這個數組的長度是6


0 回復 有任何疑惑可以回復我~

你隨便console.log('a')最后也會出現一個underfined的


0 回復 有任何疑惑可以回復我~

應該下標減一。

1 回復 有任何疑惑可以回復我~
#1

慕UI3524263 提問者

不是很懂,是在參數里減一還是函數體里減一? 具體代碼該怎么改,希望能寫一下,多謝了 這是 javascript深入淺出 課程里數組章節數組方法一課中老師給的例子之一,他的課件上只顯示前五行,而我運行后多出一行undefined,很懵
2017-11-19 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么forEach方法多出個undefine?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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