ES6 Array常用Api详解

1,Array.of

Array.of方法用于将一组值,转换为数组

之所有有该方法,是为了弥补new Array的不足,什么不足?

如果这样创建一个数组

 

var arr=new Array(4,false,'hello')

 和

 

var arr=Array.of(4,false,'hello')

 没有任何区别

 

但是如果参数是这样

 

var arr=new Array(4)

 则返回的是一个长度是4的空数组

 

var arr=Array.of(4)

 返回的是含有元素4的数组

 

不同之处:可以看到当new Array时,如果传入的是唯一的一个数字,如果只是用来定义数组的长度没有问题,如果定义的是数组的元素,则可以用Array.of代替

 

2,Array.from

用户将两类对象转变成真正的数组,类数组对象和可迭代(iterable)对象【包括es6新增的数据结构set,map】,该方法会返回新的数组对象,并不会改变原对象。

 

类数组对象

var obj={
0:"aaa",
1:"bbb",
length:2
}
Array.from(obj)//["aaa","bbb"]

 

nodelist元素

 

var divlist=document.querySelectorAll('div')
console.log(divlist.toString())//[object NodeList]

 

使用Array.from将其转换成真正的数组

 

var divlist=document.querySelectorAll('div')
var newdivlist=Array.from(divlist)
console.log(Object.prototype.toString.call(Array.from(newdivlist)))//[object Array]

 

另外还有 

map,set,字符串,函数的arguments参数类型,都可作为转换对象。

展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页