關於數組中foreach() 、map()、filter()等,以及push(),unshift()等總結

1.關於數組中foreach() 、map()、filter()、reduce() 、 some()、every()的總結。

1.forEch():遍歷數組,不改變原數組,只是遍歷數組

var arr = [1,2,3,4];
arr.forEach((item,index,arr) => {    
    console.log('當前值:'+item);   //依次輸出1,2,3,4
    console.log('當前值對應的索引:'+index); //依次輸出0,1,2,3
    console.log('原數組:'+arr);     //依次輸出4個[1,2,3,4]
})

2.map():遍歷數組,返回一個新數組,不改變原數組code

var arr = [1,2,3,4];
var arr2=arr.map((item,index,arr2) => {
    if(item == 1) {
        return item
    }else {
        return item+1
    }
})  
console.log(arr2); //輸出[1,3,4,5]

3.filter():遍歷數組過濾符合條件的篩選,並返回一個新數組,不改變原數組索引

var arr = [1,2,3,4];
var arr2=arr.filter((item,index,arr2) => {
    return item > 2;
})  
console.log(arr2);//輸出[3,4]

4.indexOf(),lastIndexOf():it

var arr = [1,2,3,4,2];
console.log(arr.indexOf(2));    //輸出1
console.log(arr.lastIndexOf(2));//輸出4

5.reduce():讓數組的先後兩項進行某種計算,而後返回其值,並繼續計算,不改變原數組,返回計算的最終結果,從數組的第二項開始遍歷console

var arr = [1,2,3,4];
var arr2=arr.reduce((result,item,index,arr2) => {
    console.log(result);
    console.log(item);
    return result * item;
})                       //依次輸出1,2,2,3,6,4
console.log(arr2);       //輸出24

6.some():遍歷數組每一項,有一項返回true,則中止遍歷,結果返回true。不改變原數組。
7.every():遍歷數組每一項,每一項返回true,最終結果爲true.有一項返回false,中止遍歷,結果返回爲false。不改變原數組。ast

2.push()、pop()和unshift()、shift()

這兩組同爲對數組的操做,而且會改變數組的自己的長度及內容。
不一樣的是 push()、pop() 是從數組的尾部進行增減,unshift()、shift() 是從數組的頭部進行增減。
1.push()和unshift()
向數組的 尾部/頭部 添加若干元素,並返回 數組的 新長度;foreach

var arr = [1,2];
arr.push(3,4);              //返回 arr 的新長度 4
arr;                        // arr = [1,2,3,4];
arr.unshift(0,0.5);         // 返回 arr 的新長度 6
arr;                        // arr = [0,0.5,1,2,3,4];

2.pop()和shift();
從數組的 尾部/頭部 刪除1個元素(刪且只刪除1個),並返回 被刪除的元素;空數組是繼續刪除,不報錯,但返回undefined;遍歷

arr.pop();      //返回 4;
arr ;          // arr = [0,0.5,1,2,3];
arr.pop();      //返回 3;
arr ;         // arr = [0,0.5,1,2];
arr.shift();      // 返回 0 ;
arr ;        // arr = [0.5,1,2]
PS: pop()和shift() 不接受傳參,即便傳了參數也沒什麼卵用~~;
arr.pop(3) ;           // 返回 2;永遠返回最後一個;
arr ;        // arr = [0.5,1];
arr.shift(1);    // 返回 0.5; 永遠返回第一個;
arr ;        // arr = [1];
arr.pop() ;     // 返回 1;
arr ;        // arr = [];
arr.shift()     // 返回 undefined;
arr ;        // arr = [];
相關文章
相關標籤/搜索