我有
list.count
我怎么写
a = [[1,2,3],[4,5,6]]
它给了我console.log(...a.shift())
但不是1 2 3
也不是1,2,3
谁能解释一下这背后的机制?
答案 0 :(得分:2)
a.shift()
返回数组的第一个元素,即[1, 2, 3]
。因此,您的代码等效于:
console.log(...[1, 2, 3])
spread语法使数组的每个元素成为一个单独的参数,因此等效于
console.log(1, 2, 3)
它将在控制台上分别打印每个数字。
要获取[1, 2, 3]
,您不应该使用...
,只需写
console.log(a.shift())
要使用1,2,3
,请
console.log(a.shift().join(','))
答案 1 :(得分:0)
console.log(...a.shift())
以给定的顺序运行:
a.shift()
返回[1, 2, 3]
=> console.log(...[1, 2, 3])
...[1, 2, 3]
被评估为1 2 3
并作为3个不同的参数传递给console.log => console.log(1, 2, 3)
1 2 3
中的哪个不存在