假设我们在 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/