Jsu*_*alv 4 javascript arrays loops for-loop
我想比较许多数组并组合任何相同的数组:
A = [1,2,3];
B = [1,2,3];
C = [1,2,3];
D = [10,11,12];
E = [10,11,12];
F = [10,11,12];
G = [13,14];
H = [13,14];
Run Code Online (Sandbox Code Playgroud)
如果有相同的数组,那么我想用相同的数组创建新的数组:
I = [1,2,3];
J = [10,11,12];
K = [13,14];
Run Code Online (Sandbox Code Playgroud)
我是否需要针对其他数组中的所有元素迭代一个数组中的每个元素?
for (var i in A) {
for (var j in B) {
if (A[i] == J[j]) {
// create new arrays
}
}
}
Run Code Online (Sandbox Code Playgroud)
等等...
然后,从匹配中创建新数组?听起来像很多开销.
实现这一目标的最佳方法是什么?
谢谢!
如果你只是想完成独特的数组,我会使用哈希方法:
var myArrays = [A,B,C,D,E,F,G],
uniques = [],
hashes = {};
for (var i=0; i < myArrays.length; i++) {
var hash = JSON.stringify(myArrays[i]); // or .toString(), or whatever
if (!(hash in hashes)) {
hashes[hash] = true;
uniques.push(myArrays[i]);
}
}
// uniques now holds all unique arrays
Run Code Online (Sandbox Code Playgroud)