1....解构

先上个例子:

首先有一个数组:stack

1
2
3
4
5
[
{ value: '测试1', clickStatus: 'true' },
{ value: '测试2', clickStatus: 'false' },
{ value: '测试3', clickStatus: 'false' }
]

然后想将另一个数组给加进来:req.body.content

1
2
3
4
5
[
{ value: '测试1', clickStatus: 'true' },
{ value: '测试2', clickStatus: 'false' },
{ value: '测试3', clickStatus: 'false' }
]

如果是使用this.stack.push(req.body.content)的话,效果是这样的

1
2
3
4
5
6
7
8
9
10
11
12
[
[
{ value: '测试1', clickStatus: 'true' },
{ value: '测试2', clickStatus: 'false' },
{ value: '测试3', clickStatus: 'false' }
],
[
{ value: '测试1', clickStatus: 'true' },
{ value: '测试2', clickStatus: 'false' },
{ value: '测试3', clickStatus: 'false' }
]
]

这显然不符合预期

但是,如果使用this.stack.push(...req.body.content)将数组进行解构,那么效果就是

1
2
3
4
5
6
7
8
[
{ value: '测试1', clickStatus: 'true' },
{ value: '测试2', clickStatus: 'false' },
{ value: '测试3', clickStatus: 'false' },
{ value: '测试1', clickStatus: 'true' },
{ value: '测试2', clickStatus: 'false' },
{ value: '测试3', clickStatus: 'false' }
]

2.字符串解构为数组

假设有一个字符串s"Let's take LeetCode contest"

对其进行解构:const arr = [...s]就可以将字符串转化为数组