ES6學習筆記(ES6新增的陣列方法)
阿新 • • 發佈:2019-02-01
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