1. 程式人生 > >ES6數組相關

ES6數組相關

arr foreach 結果 常量 function result true map() es6

ES6數組新增的幾個方法:

1. forEach()

//forEach()遍歷數組,無返回值,不改變原數組
var arr=[1,2,3,4]
arr.forEach((item,index,arr)=>{
    console.log(item);    //1,2,3,4
})

2. map()

//map()遍歷一個數組,返回新數組,不改變原數組的值
var arr=[1,2,3,4]
arr.map((item,index,arr)=>{
    return item*10;    //返回新數組10,20,30,40
})

3. filter()

//
過濾數組中不滿足條件的值,返回一個新數組,不改變原數組的值 var arr=[1,2,3,4] arr.filter((item,index,arr)=>{ return item>2; //新數組為[3,4] })

4. reduce()

//reduce讓數組的前後兩項進行某種計算,然後返回其值,並繼續計算。不改變原數組,返回計算的最終結果,從數組的第二項開始遍歷。
var arr=[1,2,3,4]
arr.reduce((result,item,index,arr)=>{
     console.log(result);  // 1  3  6  result為上次一計算的結果
console.log(item); // 2 3 4 console.log(index); // 1 2 3 return result+item; // 10 })

5.some()

//遍歷數組每一項,有一項返回true,則停止遍歷,結果返回true。不改變原數組
var arr=[]
arr.some((item,index,arr)=>{
    return item>3;  //結果為true
})

6. every()

//遍歷數組每一項,每一項返回true,則最終結果為true。當任何一項返回false時,停止遍歷,返回false。不改變原數組
var arr = [1,2,3,4]; arr.every((item,index,arr) => { return item > 1 //結果為false })

ES6數組去重

1.方法一

function unique(arr){
//定義常量res,值為一個map對象實例
const res=new map();
//返回arr數組過濾後的結果,結果為一個數組
//過濾條件是,如果res中沒有某個鍵,就設置這個值的鍵為1
return arr.filter((a) =>!res.has(a)&& res.set(a,1))
}

2. 方法二

//Array.from() 方法從一個類似數組或可叠代的對象(包括 Array,Map,Set,String,TypedArray,arguments 對象等等) 中創建一個新的數組實例
function unique(){
    return Array.from(new Set(arr));
}

ES6數組相關