CPPAlien / JS-QA

前端知识问答
0 stars 0 forks source link

concat 和 push 的区别 #1

Open CPPAlien opened 5 years ago

CPPAlien commented 5 years ago

1,push 会改变原数组,concat 不会。

a = [1, 2]
b = a.push(3)  // a,b 都为 [1, 2, 3]
c = a.concat(4) // a,b 还是为 [1, 2, 3],c 为 [1, 2, 3, 4]

2,在压入数组时,concat 会默认解开数组再压入

a = [1, 2]
a.push([3, 4]) // a 为 [1, 2, [3, 4]]
b = [1, 2]
b.concat([3, 4]) // b 为 [1, 2, 3, 4]

如果 push 想像 concat 一样,可以先对数组解构, a.push(...[3, 4])