HTML5數(shù)組方法

字號:


    *****************************
    forEach方法
    *****************************
    <script>
    var data = [1,2,3,4];
    var sum = 0;
    // 計(jì)算數(shù)據(jù)元素的值
    data.forEach(function(_val){
    sum += _val;
    })
    console.log(sum);
    //每個數(shù)據(jù)元素的值加1
    data.forEach(function(_val,i,_arr){
    _arr[i] = _val+1;
    })
    console.log(data);
    </script>
    *****************************
    map方法
    ****************************
    <script>
    var a = [1,2,3,4];
    //數(shù)組內(nèi)每個元素*10
    b = a.map(function(x){
    return x*10;
    })
    console.log(b);
    </script>
    *****************************
    filter方法
    *****************************
    <script>
    var a = [1,2,3,4];
    s = a.filter(function(x){ return x<3 });
    console.log(s); //輸出:[1,2]
    </script>
    用法2: 壓縮空缺并刪除undefined和null元素
    a = a.filter(function(x) { return x!==undefined && x!=null; });
    *****************************
    every和some方法
    *****************************
    every()和some()方法是數(shù)組的邏輯判定: 它們對數(shù)組元素應(yīng)用指定的函數(shù)進(jìn)行判定,返回true或false.
    every 有點(diǎn)類以(||或運(yùn)算),所有的值符合判斷條件,就返回true.
    a = [1,2,3,4,5]
    a.every(function(x){ return x<10; }); //返回true;
    some 有點(diǎn)類以(&&并且運(yùn)算),只要的一個值符合判斷條件,就返回true。
    a = [1,2,3,4,5]
    some(function(x){ return x<3; }); //返回false;
    *****************************
    reduce和reduceRight()方法
    var a = [1,2,3,4,5]
    var sum = a.reduce(function(x,y){ return x+y },0); //數(shù)組求和
    var product = a.reduce(function(x,y){return x*y},1); //數(shù)組求積
    reduce()需要兩個參數(shù)。
    var a = [1,2,3,4,5]
    // reduceRight()按照數(shù)組索引從高到低。 從5-4-3-2-1運(yùn)算
    *****************************
    indexOf和lastIndexOf()方法
    a= [0,1,2,1,0]
    a.indexOf(1); //輸出: 從a數(shù)組開頭找出值等于1的值。 結(jié)果是1,就是a[1]
    a.lastIndexOf(1); //輸出3 : a[3]是1.
    a.lastIndexof(5); //輸出-1:沒有值為3的元素。