javascript - 为什么我从这个简单的 splice 命令得到这个输出?

标签 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);

输出是:

[ 'a', 'b', '1', 'c', 'd', 'e', 'f' ]
[]  

为什么第二行输出的不是:

[ 'a', 'b', '2', 'c', 'd', 'e', 'f' ]  

是赋值问题还是什么?

最佳答案

正在阅读 splice方法。它返回

An array containing the removed elements. If only one element is removed, an array of one element is returned.

所以通过做

arr2 = arr2.splice(2,0,"2");

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

关于javascript - 为什么我从这个简单的 splice 命令得到这个输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16382414/

相关文章:

linux-kernel - splice() 中的 DMA 复制

javascript - 将 Java 的 PBEWithMD5AndDES 转换为 JavaScript

javascript - 如何使用javascript显示和隐藏特定的div?

go - Go 中的同时变量赋值与单独变量赋值不同

c++ - 为什么我不能在这里使用三元运算符?

sublimetext3 - Sublime Text 3 片段中的变量

javascript - 使用map jquery获取数组中的选项值

reactjs - 如何在 React Hooks 中使用 splice

javascript - 如何制作 `text + line-break + link` 以在 Whatsapp 上分享?

javascript - 强制 Angular 子组件完全渲染