Javascript 查找排序数组中一组整数中的所有内容

Javascript 查找排序数组中一组整数中的所有内容,javascript,jquery,Javascript,Jquery,可能重复: 我有一个javascript中的整数排序数组。我需要找出排序数组中一堆整数中的哪一个存在。 最快的方法是什么 我使用jQuery,但它似乎没有为排序数组的二进制搜索提供内置支持,只是jQuery.inArray()(不确定它实现了什么算法) JavaScript语言和jQuery都不提供二进制搜索功能 它看起来是这样的: function binarySearch(array, val, cmp) { cmp = cmp || function(v1, v2) { return

可能重复:

我有一个javascript中的整数排序数组。我需要找出排序数组中一堆整数中的哪一个存在。 最快的方法是什么


我使用jQuery,但它似乎没有为排序数组的二进制搜索提供内置支持,只是
jQuery.inArray()
(不确定它实现了什么算法)

JavaScript语言和jQuery都不提供二进制搜索功能

它看起来是这样的:

function binarySearch(array, val, cmp) {
  cmp = cmp || function(v1, v2) { return v1 - v2; };
  var l = 0, h = array.length - 1;
  while (l <= h) {
    var m = Math.round((l + h) / 2), diff = cmp(array[m], val);
    if (!diff) {
      return m;
    }
    diff > 0 ? (h = m - 1) : (l = m + 1);
  }

  return -1;
}

binarySearch([1, 10, 100, 1000], 666); // -1
函数二进制搜索(数组、val、cmp){
cmp=cmp | |函数(v1,v2){返回v1-v2;};
var l=0,h=array.length-1;
而(l0?(h=m-1):(l=m+1);
}
返回-1;
}
二进制搜索([1,101001000],666);/-1

循环,只需循环:.
jQuery.inArray()
尝试使用
Array.indexOf
如果不使用,则使用它自己的实现。您只需循环一组整数,并检查您的数组是否
indexOf(项)>-1
,意思是它在数组中。一组整数在一个数组中吗?你想要两个整数数组的交集吗?@Gaby aka G.Petrioli:这组整数不在数组中,我只是为它们迭代一些dom元素OK,然后你可能想把它添加到问题中,并解释如何迭代dom元素向我们展示你目前拥有的,你想要得到的,以及你尝试过的。。