ES6数组构造函数Array新增两个构造函数方法:Array.of() Array.from()
Array.of用于将参数依次转化为数组中的一项,然后返回这个新数组,而不管这个参数是数字还是其它。它基本上与Array构造器功能一致,唯一的区别就在单个数字参数的处理上。如下:
Array.of(8.0)//[8]
Array(8.0)//[undefined × 8]
Array.from(arrayLike[, processingFn[, thisArg]])从一个类似数组的可迭代对象创建一个新的数组实例,也就是说只要对象有迭代器,Array.from都能把他转换成一个新的数组(不改变原来对象),Array.from有三个形参,第一个是为类似数组的对象,必选,第二个是加工函数,新生成的数组会经过该函数加工再返回,第三个参数是this的作用域,表示加工函数执行时this的值,后两个参数不是必选
var obj={0:'a',1:'b',2:'c',length:3}
Array.from(obj,function(value,index){
return value.repeat(2) //输出 ['aa','bb','cc']
},obj)
注意点:加工函数必须有返回值,有两个参数,第一个是迭代器当前元素值,第二个是其索引
省略this作用域时可以简写加工函数Array.from(obj,(v)=>value.repeat(2))
网友评论