發現我有兩個數組:的Javascript:檢查是否從數組中的元素在另一個數組
var arr1 = ["1", "2", "3"],
arr2 = ["2", "5", "8"];
什麼是確定是否從ARR1任何元素ARR2任何元素相匹配的最佳方式?
我正在使用jquery,所以現在我循環arr1並調用$.inArray(arr1[i], arr2);
但我很好奇,如果有更好的方法。
編輯
如果有人好奇我確切的情況下,這是一個谷歌地圖,我在循環的標記,以查看是否有任何過濾類型的存儲與標記類型被發現。如果有任何發現,我會顯示標記。否則它是隱藏的。 [此代碼的工作 - 將有大量的標記很快測試]
var filters = $("#map-search :checked").map(function() {
return this.value;
}).get(),
markerIndex = 0;
for (markerIndex; markerIndex < AKTA.Map.markers.length; markerIndex++) {
var marker = AKTA.Map.markers[markerIndex],
isVisible = false;
if (filters.length > 0) {
var filterIndex = 0;
for (filterIndex; filterIndex < filters.length; filterIndex++) {
if ($.inArray(filters[filterIndex], marker.types) != -1) {
isVisible = true;
break;
}
}
}
marker.setVisible(isVisible);
}
出完整的:inArray](https://github.com/jquery/jquery/blob/1.5 .1/src/core.js#L663)在core.js中的1.5.1。 – Paolo 2011-03-18 19:48:34
我假設你只是顯示來自內核的代碼,因爲這是在1.2版本中添加的。 – ScottE 2011-03-18 19:56:04
[of](http://api.jquery.com/jQuery.inArray)[course](http://api.jquery.com/category/version/1.2/)! ;) – Paolo 2011-03-18 20:00:21