我想比較多陣列和結合任何相同:的Javascript:比較三個數組
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];
如果有相同的陣列,然後我想創建新的陣列出相同的國家:
I = [1,2,3];
J = [10,11,12];
K = [13,14];
我需要遍歷一個數組中的每個元素對其他數組中的所有元素嗎?
for (var i in A) {
for (var j in B) {
if (A[i] == J[j]) {
// create new arrays
}
}
}
等等
然後,創建新的陣列出來的比賽嗎?聽起來像很多開銷。
完成此操作的最佳方法是什麼?
謝謝!
for-in迭代對象鍵。它不是* for-each循環,你不應該在數組中使用它。 – hugomg
@missingno評論很好,但試圖解釋爲什麼不應該使用或不提供鏈接。謝謝。 – JsusSalv
我應該更加明確。數組除了索引之外還有其他屬性(您真正關心的),而且for-in也可以迭代它們(除非您的瀏覽器一直保護您)。如果你決定在某一天使用改變Array.prototype的庫,如MooTools或Prototype,那麼這是特別危險的,並且突然出現大量虛假的東西出現在你的循環中。要迭代一個數組,你應該使用一個簡單的for-loop或者一個迭代方法,比如.forEach(如果你的瀏覽器/庫支持的話) – hugomg