ES6 数组Array.of、Array.from

在ES6数组中新增了诸如Array.of,Arrar.from方法,这些方法有什么作用呢,今天我们来一探究竟。

一,Array.of

 

作用:Array.of方法用于将一组值,转换为数组,有的同学要问了new Array(1,2,3,4),或者直接var arr=[1,2,3,4]也能实现啊,直接使用var arr=[],当然没有问题,稍微有点JavaScript基础的同学应该清楚,当数组中只切只有一个数字时。使用new Array得到的可能不是你要的结果,例如:new Array(2)得到的是长度为2的空数组,当然如果这就是你要的结果当然没问题,如果不是你要的结果呢,除了直接var arr=[2]还有没有其它方式呢?

Array.of的出现就是为了解决这一问题。

var arr=Array.of(4);
console.log(arr)//[4]

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

二,Array.from

在JavaScript中有两类对象可以直接使用Array.from方法转变成真正的数组,分别是类数组对象和可迭代(iterable)对象【包括es6新增的数据结构set,map】【判断对象是否可迭代instance[Symbol.iterator]】,该方法会返回新的数组对象,并不会改变原对象。【es6之前可以使用Array.prototype.slice.call方法,但是书写过于繁琐,故用Array.from代替。】

1,类数组对象

1.1 普通对象

var obj={
    0:"aaa",
    1:"bbb",
    length:2
}

console.log(Array.from(obj))//["aaa","bbb"]

1.2 NodeList元素

var divlist=document.querySelectorAll('div')
console.log(Array.from(divlist))//返回包括div元素的数组

2,可迭代对象

let set1=new Set([1,2,3,4])
console.log(Array.from(set1))//[1,2,3,4]

 

 

 

 

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

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符 “速评一下”
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页