发现我有两个数组:的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