Array 构造函数中的from()和of()的用法

Array 构造函数在ES6中新增的用于创建数组的两个静态方法:from() 和 of()

  • from() 用于将类数组结构转换为数组实例
  • of() 用于将一组参数转换为数组实例

from 用法

可以将字符串拆分为单字符数组

const a = "happy"
console.log(Array.from(a)) // ['h','a','p','p','y']

可以将集合和映射转换为一个新数组

const m = new Map().set(1,2).set(3,4)
const s = new Set().add(5,6).add(7,8)
console.log(Array.from(m)) // [[1,2],[3,4]]
console.log(Array.from(s)) // [1,2,3,4]

对数组进行浅拷贝

const a1=[1,2,3,4];
const a2=Array.from(a1);
console.log(a2) // [1,2,3,4]
console.log(a1===a2); // false

可以使用任何可迭代对象

const iter={
	*[Symbol.iterator](){
		yield 1;
		yield 2;
		yield 3;
		yield 4
	}
}
console.log(Array.from(iter)) // [1,2,3,4]

可以接收第二个可选的映射函数参数,这个函数可以直接增强新数组的值。也可以接收第三个可选参数,用于指定映射函数中this的值。但这个重写的this值在箭头函数中不适用。

const a1=[1,2,3,4];
const a2=Array.from(a1,x=>x**2);
const a3=Array.from(a1,function(x){return x**this.exponent}, {exponent:2})
console.log(a2); // [1,4,9,16];
console.log(a3); //[1,4,9,16];

of 用法

console.log(Array.of(1,2,3,4)) //[1,2,3,4]
consolg.log(Array.of(undefined)) // [undefined]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

00程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值