一、Array的属性以及使用
1、Array.from()
用于将类数组转换为数组实例
①、字符串拆分为数组
console.log(Array.from('matt')) ---['m','a','t','t'];
②、可以使用from()将集合和映射转换为新数组
const s = new Map().set(1,2).set(3,4);
const a = new Set().add(1).add(2).add(3);
console.log(Array.from(s)) --- [[1,2],[3,4]]
console.log(Array.from(a)) --- [1,2,3];
③对现有的数组进行浅复制
const a1 = [1,2,3,4];
const b1 = Array.from(a1);
console.log(b1); -- [1,2,3,4];
console.log(a1 === b1) -- false
④、arguments 可以轻松转换为数组
function getArr(){
return Array.from(arguments);
}
console.log(getArr(1,2,3,4)) --- [1,2,3,4]
⑤、Array.from()还可以接收第二个可选的映射参数,这个函数可以直接增强新数组的值,而无需像调用Array.from().map()那样先创建个中间数组,还可以接收第三个可选参数,用于指定映射函数中的this值
const a1 = [1,2,3,4];
const a2 = Array.from(a1,x=>x*2)
console.log(a2) --- [2,4,6,8]
const a3= Array.from(a1,function(x){return x*this.export},{export:2});
console.log(a3) --- [2,4,6,9]