在不影响性能的情况下,迭代拼接多个数组的最快方法是什么?我想象它类似于下面的语法,但它不太有效。
我想做:Array1 - remove[0]
、Array2 - remove[1]
、Array3 - remove[2]
>...等等...
for (var i = 0; i < items.length; i++) {
arr[i] = items.name;
for(key in arr[i]) {
var value = arr[i].splice(i, 1);
console.log(value);
}
}
编辑(项目的定义):
期望的结果(分别删除第 1、第 2、第 3 项的 3 个数组:
[array0]
[0] United Kingdom
[1] United States
[array1]
[0] Canada
[1] United States
[array2]
[0] Canada
[1] United Kingdom
EDIT2 - 如果你看下面的比较,你可以看到如果我们使用 for 循环将传入的数组推送到组中,结果与 Corey 提供的解决方案相同,但是如果我们在两者上运行 splice 方法其中 - 结果非常不同,示例 2 正确拼接 - 示例 1 完全拼接,这就是我感到困惑的地方:
(项目以以下形式出现:)
["Canada", "United Kingdom", "United States"]
["Canada", "United Kingdom", "United States"]
["Canada", "United Kingdom", "United States"]
var group = [];
for (var i = 0; i < items.length; i++) {
group.push(items.name);
}
/*for (var i = 0; i < group.length; i++) {
group[i].splice(i, 1);
}*/
console.log(group);
var arr1 = ["One", "Two", "Three"];
var arr2 = ["One", "Two", "Three"];
var arr3 = ["One", "Two", "Three"];
var test = [arr1, arr2, arr3];
/*for (var i = 0; i < test.length; i++) {
test[i].splice(i, 1);
}*/
console.log(test);
最佳答案
如果您的所有数组都在另一个“分组”数组中,您可以迭代该组并使用索引作为拼接计数器。像这样的东西:
var arr1 = ["One", "Two", "Three"];
var arr2 = ["One", "Two", "Three"];
var arr3 = ["One", "Two", "Three"];
var group = [arr1, arr2, arr3];
for (var i = 0; i<group.length; i++) {
group[i].splice(i,1);
}
console.log(group);
// Logs: ["Two", "Three"], ["One", "Three"], ["One", "Two"]
关于javascript - 迭代拼接多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257253/