在进行迭代拼接多个数组的最快方法是什么 - 没有太多的性能影响?我想它类似于下面的语法,但它不太有用。
我想这样做: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);
}
}
EDIT(项目定义):
所需结果(分别删除了第3个,第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);
答案 0 :(得分:1)
如果你的所有数组都在另一个“分组”数组中,你可以遍历该组并使用索引作为你的拼接计数器。类似的东西:
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"]
答案 1 :(得分:0)
如果您不介意使用第三方库,最简单的方法是使用Underscore.js。我不清楚你是否想要选择性拼接,或者你只是想创建一个与其他数组结合的数组,或者是唯一值,或者是什么。但他们有所有这些事情的操作:
http://underscorejs.org/#union
如果你不想把它们带进来,那么只需看看它的来源,看看它们是如何做到的。