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

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

JavaScript中跳不出的forEach循環,知道了結果,但是由何原因導致的呢?

JavaScript中跳不出的forEach循環,知道了結果,但是由何原因導致的呢?

海綿寶寶撒 2018-09-02 08:04:41
在項目開發過程中會使用到forEach循環,在平時使用過程中未留意到如下的現象:var arr=[1,2,3];// 循環一console.log('循環一:'); arr.forEach(function(item) {    if (item > 2) {        return false;     }    console.log(item); });// 循環二console.log('循環:'); arr.forEach(function(item) {    console.log(item);    if (item > 2) {        return false;     } });可以看到循環一是想要的結果,而循環二卻執行完循環了,這是為何呢?
查看完整描述

3 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

  1. ForEach(callback)這是一個回調方法,你return false并沒有任何意義,想停止可以用for of

  2. 事實上都執行了3次回調,只是循環1中你第3次沒打印而已。


查看完整回答
反對 回復 2018-09-02
?
九州編程

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

forEach滿足條件后并不會跳出循環。

循環一的輸出語句是在return false的后面

循環二的輸出語句是在return false的前面,所以造成了這種假象。

其實你應該用some()或者every();


查看完整回答
反對 回復 2018-09-02
  • 3 回答
  • 1 關注
  • 1000 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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