Rus*_*ell 2 javascript arrays sorting
我有一个有序的整数列表,并想搜索它们.
最快的方法是什么?
这是最快的吗?或者我们可以优化它,因为它是有序的吗?
Array.prototype.Contains = function(value) {
for (var index = 0; index < this.length; index++) {
if (value == this[index]) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
谢谢
尝试实施" 二元搜索 ":
Array.prototype.binarySearch = function(v) {
/* ARRAY MUST BE SORTED */
if ( !this.length ) { return false; }
if ( this[0] === v ) { return true; }
var i, mid,
start = 0,
end = this.length,
c = false;
while ( c = (i = this[mid = start+((end-start)>>1)]) !== v ) {
i < v ? (start = mid) : (end = mid);
if (start >= end - 1) { break; }
}
return !c;
};
Run Code Online (Sandbox Code Playgroud)