1. 程式人生 > >ES6學習筆記(ES6新增的陣列方法)

ES6學習筆記(ES6新增的陣列方法)

1、Array.from()方法

Array.from()方法是用於類似陣列的物件(即有length屬性的物件)和可遍歷物件轉為真正的陣列。
比如,使用Array.from()方法,可以輕鬆將JSON陣列格式轉為陣列。

let json ={
    '0':'hello',
    '1':'123',
    '2':'panda',
    length:3
}
let arr = Array.from(json);
console.log(arr);

控制檯列印結果:["hello", "123", "panda"]

2、使用Array.of()方法

Array.of()方法是將一組值轉變為陣列。

let arr0 = Array.of(1,2,33,5);
console.log(arr0);//[1,2,33,5]

let arr1 = Array.of('你好','hello');
console.log(arr1);//["你好", "hello"]

3、find()方法

陣列例項的find方法用於找出第一個符合條件的陣列成員。引數是個回撥函式,所有陣列成員依次執行該回調函式,直到找到第一個返回值為true的成員,然後返回該成員。如果沒有符合條件的成員,就返回undefined;
如:回撥函式可以接收3個引數,依次為當前的值(value)、當前的位置(index)、原陣列(arr)

let arr2 = [1,2,3,5,7];
console.log(arr2.find(function(value,index,arr2){
    return value > 5;
}))

控制檯列印結果:7

4、fill()方法

使用fill()方法給定值填充陣列。
fill方法用於空陣列的初始化很方便:new Array(3).fill(7);//[7,7,7]
fill方法還可以接收第二個和第三個引數,用於指定填充的起始位置和結束位置:

let arr3 = [0,1,2,3,4,5,6,7];
arr3.fill('error',2,3);
console.log
(arr3);//[0,1,"error",3,4,5,6,7]

5、遍歷陣列的方法:entries()、values()、keys()

這三個方法都是返回一個遍歷器物件,可用for...of迴圈遍歷,唯一區別:keys()是對鍵名的遍歷、values()對鍵值的遍歷、entries()是對鍵值對的遍歷。

for(let item of ['a','b'].keys()){
    consloe.log(item);
    //0
    //1
}
for(let item of ['a','b'].values()){
    consloe.log(item);
    //'a'
    //'b'
}
let arr4 = [0,1];
for(let item of arr4.entries()){
    console.log(item);  
    //  [0, 0]
    //  [1, 1]
}
for(let [index,item] of arr4.entries()){
    console.log(index+':'+item);
    //0:0
    //1:1
}

如果不用for...of進行遍歷,可用使用next()方法手動跳到下一個值。

let arr5 =['a','b','c']
let entries = arr5.entries();
console.log(entries.next().value);//[0, "a"]
console.log(entries.next().value);//[1, "b"]
console.log(entries.next().value);//[2, "c"]
console.log(entries.next().value);//undefined