如何创建一个长度为n的数组,每个元素都是一个空对象?

可尝试的生成方式及生成结果

- Array(5).map(val => ({}))              生成 empty 数组 ❌
- Array(5).forEach(val => ({}))       生成 empty 数组 ❌
- Array(5).fill({})                   生成 要求数组,   ❗️ 注意:但是使用中存在问题。详见 fill有什么问题?
- Array(5).fill()           生成 undefined 数组 ❌
- Array.from(Array(5).map(val => ({}))) 生成 undefined 数组 ❌
- Array.from(Array(5)).map(val => ({}))  生成 要求数组
- Array.of(5)                           生成 含一个元素 5 数组 ❌
- [...Array(5).keys()].map(val => ({}))     生成 要求数组

 

 

 

 

 

 

 

 

衍生问题:

如何创建一个长度为n的数组,每个元素都是undefined / 0?

https://www.zhihu.com/question/25218632

如何创建一个长度为n的数组,元素从1到n?

 

生成数组方式对比 

方法名用例输出备注
ArrayArray(1,2,3) [1, 2, 3]接收元素列,当元素仅一个且为数字时,生成长度为该数字的空empty数组
Array(3)[empty × 3]
Array.ofArray.of(7)[7]接收元素列,没有特殊场景
Array.of(7, 6, 5)[7, 6, 5]
Array.formArray.from('foo')["f", "o", "o"]接收类数组或可迭代对象,第二个参数可以指定为处理元素的方法
Array.from([1, 2, 3], x => x + x)[2, 4, 6]
Array.from(new Set(['foo', 'bar', 'baz', 'foo']))["foo", "bar", "baz"]
    

 

 

 


 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值