首頁  >  文章  >  web前端  >  JavaScript數組的5種迭代方法實例詳解

JavaScript數組的5種迭代方法實例詳解

黄舟
黄舟原創
2017-10-02 09:44:531506瀏覽

這篇文章主要為大家詳細介紹了JavaScript陣列的5種迭代方法,具有一定的參考價值,有興趣的小夥伴們可以參考一下

ES5為陣列定義了5個迭代方法。每種方法都會接收兩個參數。要在每一項上運行的函數和(可選的)運行該函數的作用域物件--影響this的值。 //其中(可選的)這個參數暫時未遇過。

其中,函數都會接收三個參數(陣列中的每一項、每一項的索引值、陣列物件本身)。

以下是5中方法的介紹:

every() : 對數組中的每一項執行函數,如果每一項都傳回 true ,則該方法傳回 true。

some():     對陣列中的每一項執行函數,只要有一項回傳了 true ,則該方法傳回 true。

filter():       對陣列中的每項執行函數,將裡面傳回 true 的項,組成一個陣列傳回。

forEach()  對數組中的每一項執行函數,沒有回傳值。類似於for循環。

map()       對陣列中的每一項執行函數,傳回(處理後的)每一項。

以上5種方法,都不會改變陣列本身。

forEach和map的比較:


  var arr = [1,2,3,4,5];
  //every() filter() some() forEach() map()
  var res = arr.every(function(i,index,o){
    return i>2;
  });
  console.log(arr); //[1,2,3,4,5]
  console.log(res); //false

  var some = arr.some(function (i, k, l) {
    return i>2;
  });
  console.log(arr);//[1,2,3,4,5]
  console.log(some);//true

  var filter = arr.filter(function (i, k, l) {
    return i>2;
  });
  console.log(arr);//[1,2,3,4,5]
  console.log(filter);//[3,4,5]

  var forEach = arr.forEach(function (i, k, l) {
    return i>2;
  });
  console.log(arr);//[1,2,3,4,5]
  console.log(forEach);//undefined

  var map = arr.map(function (i, k, l) {
    return i>2;
  });
  console.log(arr);//[1,2,3,4,5]
  console.log(map);//[false,false,true,true,true]

以上是JavaScript數組的5種迭代方法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn