javascript - 在 Javascript 中对嵌套数组使用拼接

标签 javascript arrays splice

我有一个数组,其中所有元素也是数组(整数),称为 mainArray。 我正在尝试使用 splice() 添加和删除它的元素(子数组)。

最初 mainArray 有一个元素(一个整数数组),我想删除它并向 mainArray 添加 3 个新子数组,这些在 arraysToAdd 中定义。

mainArray = new Array(new Array(1));
arraysToAdd = new Array(new Array(1,2), new Array(1,4), new Array(1,7));

alert(arraysToAdd.length); // Returns: 3: as expected

mainArray.splice(0,1,arraysToAdd);

alert(mainArray.length); // Returns: 1: I want this to be 3

我希望 mainArray 最后的长度为 3(因为它应该包含 3 个子数组),但看起来 splice() 正在展平 arraysToAdd 所以 mainArray 最终只是一个整数数组。

我错过了什么?

最佳答案

您缺少的是将一个数组数组添加到您的数组数组中。您想要添加每个单独的数组。

您可以使用 .apply() 来执行此操作:

mainArray.splice.apply(mainArray, [0,1].concat(arraysToAdd));

因此,您传递的 01 参数与您的 arraysToAdd 连接在一起,形成您要传递给 .splice() 通过 .apply()

演示: http://jsfiddle.net/QLwLA/


如果没有 .apply(),您将需要单独添加它们,如下所示:

mainArray.splice(0, 1, arraysToAdd[0], arraysToAdd[1], arraysToAdd[2]);

演示: http://jsfiddle.net/QLwLA/1/

关于javascript - 在 Javascript 中对嵌套数组使用拼接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21976877/

相关文章:

javascript - 检测客户端是平板电脑还是手机的最佳方法是什么?

javascript - 更新 PHP 变量

C:动态分配结构体数组的使用

java - 有没有办法在 createArray() 的子程序 print() 中打印 multArray?

arrays - 如何将多个嵌套的 JSON 响应解析为数组?

javascript - HTML 和 JQuery 中的迭代器用于初始化 JQuery 元素

javascript - 通过 Javascript 保存到 Parse 时出现问题

javascript - 如何在数组中找到一个对象,然后删除它并返回数组?

javascript - 拼接不是函数错误

linux - vmsplice() 和 TCP