let array = new Array(...arr)拷贝数组,nums=[1]时,生成的新数组为空,为什么?
new Array(...arr)和[...arr]有什么区别呢
let array = new Array(...arr)拷贝数组,nums=[1]时,生成的新数组为空,为什么?
new Array(...arr)和[...arr]有什么区别呢
首先 new Array(...arr) 中的 arr 只有一个元素,当进行扩展时相当于 new Array(1),
此时相当于创建长度为 1 的空数组,当 new Array(1,2,...) 等多参数时才会作为新数组的元素填充。
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
new Array单个数字参数,传入的参数为数组长度;详细可以看文档
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refer...
至于两个的区别你也可以看 数组字面量和构造函数数组