2种表达方式之间的区别,一种表示具有传播,另一种则没有传播?

时间:2019-11-30 12:29:00

标签: javascript arrays ecmascript-6

以该对象为例

 ingredients = {
     salad: 3,
     bacon: 1,
     cheese: 1,
     meat: 0
 }

我有2个表达式,它们的结果不同,一个没有散布运算符

Object.keys(ingredients).map(igKey=>{ 
    return [Array(3)]
})

和另一个带有传播算子

Object.keys(ingredients).map(igKey=>{ 
    return [...Array(3)]
})
  

不使用传播算子的结果

(4) [Array(1), Array(1), Array(1), Array(1)]
0: [Array(3)]
1: [Array(3)]
2: [Array(3)]
3: [Array(3)]
  

使用传播算子的结果

(4) [Array(3), Array(3), Array(3), Array(3)]
0: (3) [undefined, undefined, undefined]
1: (3) [undefined, undefined, undefined]
2: (3) [undefined, undefined, undefined]
3: (3) [undefined, undefined, undefined]

我读取了散布运算符用于合并多个数组,在此示例中散布运算符执行什么操作?

0 个答案:

没有答案