1.Array.from():将类数组的对象和可遍历的对象转为真正的数组。
let array = {
'0': 'a',
'1': 'b',
'2': 'c',
length: 3
};
ES5写法:var arr1 =[].slice.call(array); // ['a', 'b', 'c']
ES6写法:let arr2 = Array.from(array); // ['a', 'b', 'c']
Array.from({length:3}); //[undefined,undefined,undefined]
Array.from可以接收第二个参数。效果类似map方法
Array.from([1, 2, 3], (x) => x * x) // [1, 4, 9]
2.Array.of():将一组值转为数组
Array.of(3) //[3]
Array.of(1,2,3) //[1,2,3]
Array.of(undefined) //[undefined]
3.find(),findIndex()
find():用于找出第一个符合条件的对象,返回该对象,没有符合的返回undefined
[1,2,3].find(x=>{return x>2}); //3
findIndex():用于找出第一个符合条件的对象的位置,没有返回-1
[1,2,3].findIndex(x=>{return x>2}); //2
4.fill():填充数组
new Aaary(3).fill(a) //[a,a,a]
new Aaary(3).fill({}) //[{},{},{}] --填充三个空对象
['a', 'b', 'c'].fill(7, 1, 3) //// ['a', 7, 7] 后两个参数为填充的开始位置和结束位置。
5.entries(),keys(),values():遍历数组,用for...of进行遍历
let data = ['b','c']
for(let index of data.keys()){
console.log(index) // 0 //1
}
for(let el of data.values()){
console.log(el) // 'b' //'c'
}
for(let [index,el] of data.entries()){
console.log(index,el) //0 'b' //1 'c'
}
6.includes():比idnexOf()更加直观,严格 ES7
[NaN].indexOf(NaN) // -1
[NaN].includes(NaN) //true
7.数组的空位
0 in [undefined, undefined, undefined] // true
0 in [, , ,] // false
网友评论