为什么我从这个简单的拼接命令获得此输出?

Moo*_*lla 3 javascript variable-assignment splice

我有一个小问题,理解为什么我得到这个输出.

var arr = ["a", "b", "c", "d", "e", "f"];
arr.splice(2,0,"1");
console.log(arr);  

var arr2 = ["a", "b", "c", "d", "e", "f"];
arr2 = arr2.splice(2,0,"2");
console.log(arr2);
Run Code Online (Sandbox Code Playgroud)

输出是:

[ 'a', 'b', '1', 'c', 'd', 'e', 'f' ]
[]  
Run Code Online (Sandbox Code Playgroud)

为什么第二行输出不是:

[ 'a', 'b', '2', 'c', 'd', 'e', 'f' ]  
Run Code Online (Sandbox Code Playgroud)

是分配问题还是什么?

dfs*_*fsq 7

阅读拼接方法.它回来了

包含已删除元素的数组.如果仅删除一个元素,则返回一个元素的数组.

所以通过做

arr2 = arr2.splice(2,0,"2");
Run Code Online (Sandbox Code Playgroud)

用splice返回的arr空数组覆盖初始数组[].