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参数类型,都可作为转换对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值