javascript - 在不应用的情况下将一个数组插入(拼接?)到另一个数组中

标签 javascript arrays

假设我们在 JavaScript 中有两个数组,[3,4,7][5,6]

在不排序或使用 .apply 的情况下,将 [5,6] 插入索引 2 处的 [3,4,7] 的最佳方式是什么实现结果数组:[3,4,5,6,7]

最佳答案

不知道你如何定义“最佳方式”,但你可以这样做:

a.slice(0,2).concat(b,a.slice(2));

除非您确实想要改变 a 数组,在这种情况下您可以这样做:

var c = a.splice(2);

for (var i = 0; i < b.length + c.length; i++) {
    a.push(i < b.length ? b[i] : c[i-b.length]);
}

.splice() 将数组分成两部分的这种行为可能在旧版 IE 中存在问题,需要修补。

<小时/>

或者这可能会更好:

var c = b.concat(a.splice(2));

for (var i = 0; i < c.length; i++) {
    a.push(c[i]);
}

关于 .splice() 的同样警告。

关于javascript - 在不应用的情况下将一个数组插入(拼接?)到另一个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23902591/

相关文章:

javascript - 无法调用 Mounted() 内的函数

javascript - date-fns:如何以 YYYY-MM-DDThh:mm:ss:dddddd 格式获取当前日期和时间

c++ - std::array :通过智能指针访问元素的成员

javascript - table 上的 Vue.js v 组件

javascript - Js 脚本从页脚中断

java - 将 double 组从 Python 移至 Java

c - c 程序的意外行为?

c# - 二进制数组将映射减少到 C# 中的矩形

arrays - Icarus verilog 转储内存数组 ($dumpvars)

javascript - 如何捕获使用 jQuery sortable 排序的元素?