JavaScript中的數(shù)組 (三)

在es5中,新增了9個數(shù)組方法,大多數(shù)方法都有一個大致的特征,他們的第一參數(shù)是一個函數(shù),并且對數(shù)組中的每個元素都執(zhí)行該函數(shù)<em>(但不包括未初始化或者被刪除的元素?。?</em> 。第二個參數(shù)是用來指定執(zhí)行調(diào)用函數(shù)的this。
下面將介紹幾個常用的方法:

  • forEach()
    最簡單的方法。遍歷整個數(shù)組,對每個元素調(diào)用指定的函數(shù)。
    函數(shù)形式:
    function (value,index,array) //value 當前元素;index 當前索引;array 該數(shù)組
    相比較于傳統(tǒng)的for循環(huán),forEach 方法不可以使用break終止遍歷。如果要提前終止,需要在forEach 函數(shù)中拋出一個異常。

  • map()
    遍歷整個數(shù)組,對每個元素調(diào)用指定的函數(shù),將返回值組成一個數(shù)組作為map的返回結(jié)果。
    函數(shù)形式:
    function (value,index,array) //value 當前元素;index 當前索引;array 該數(shù)組
    回到之前提到的一個問題

var a=new Array(4);
var b=[,,,,]
var c=[undefined ,undefined ,undefined ,undefined ]
console.log(a.map((elem,index)=>index));  // [undefined × 4]
console.log(b.map((elem,index)=>index));  // [undefined × 4]
console.log(c.map((elem,index)=>index));  //[0,1,2,3]

原因就是 map 并不會遍歷被刪除或者沒有被初始化的元素,但他會返回和調(diào)用數(shù)組相同長度的數(shù)組,并具有相同的缺失元素。

  • map 方法并不會改變調(diào)用的數(shù)組

  • filter()
    過濾方法。遍歷整個數(shù)組,對每個元素調(diào)用指定的函數(shù)進行判斷。如果函數(shù)返回值為true,該元素將被添加到返回的數(shù)組中。
    函數(shù)形式:
    function (value,index,array) //value 當前元素;index 當前索引;array 該數(shù)組
    可以使用filter 過濾掉數(shù)組中為undefined 或者null的元素:
    a=a.filter(function(d){return d!==undefined && d!=null;})

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容