ES6数组API
1.Array.from
可以拷贝数组,也可以通过扩展运算符来拷贝数组,他们的作用对等,例如:
let arr = [1,2,3,4] let arr2 = Array.from(arr) let arr3 = arr; //arr2 is: [ 1, 2, 3, 4 ] console.log('arr2 is:',arr2) arr2[2]= 9; //arr1 is: [ 1, 2, 3, 4 ] console.log('arr1 is:',arr) arr[2] = 10; //arr3 is: [ 1, 2, 10, 4 ] console.log('arr3 is:',arr3)
另外: from还可以把伪数组转换为真正的数组:在把类选择器选择到dom伪数组转化成数组很有用。
let arrayList = { '0':'a', '1':'b', '2':'c', length:'3' } // [ 'a', 'b', 'c' ] console.log(Array.from(arrayList))
from 接受三个参数。第两个参数是一个函数,类似map第二个参数。第三个参数为this的指向。
一个应用:用来进行数组出重。
Array.from(new Set(arr2))
2. Array.of
用来替代Array的不足,它永远返回的是一个数组。
console.log(Array.of()) console.log(Array.of(undefined)) //[] //[ undefined ]
Array.find和Array.findIndex,Array.copyWithin,
看看for of的常用方法:解析类数组、字符串、 symbol、Map和Set都很方便。
2,Array.fill,数组实例的entris()、keys()、和values()以及includes。