在JavaScript中排序列表中搜索项目的最佳方法是什么?
就排序数组而言(按任何顺序排列),二进制搜索是存在的最优化,最有效的搜索算法。我们需要编写一个二进制搜索函数,该函数搜索文本的排序数组以查找目标。
然后,我们应该将该函数附加到ArrayObjects的prototype属性。
示例
为此的代码将是-
const arr = [2, 5, 8, 12, 14, 16, 17, 22, 26, 28, 35, 67, 78, 99];
const target = 22;
Array.prototype.binarySearch = function(target) {
if ( !this.length ) { return false; }
if ( this[0] === target ) { return true; }
var i, mid,
start = 0,
end = this.length,
c = false;
while ( c = (i = this[mid = start+((end-start)>>1)]) !== target ) {
i < target ? (start = mid) : (end = mid);
if (start >= end - 1) { break; }
}
return !c;
};
console.log(arr.binarySearch(target));输出结果
控制台中的输出将是-
true
热门推荐
9 七十年祝福语简短
10 我老公蛋糕祝福语简短
11 雷州人结婚祝福语简短
12 新年祝福语2026最简短
13 老师给家长祝福语简短
14 早安朋友祝福语简短独特
15 小升初送给儿子祝福语简短
16 默克尔离职祝福语简短
17 生日祝福语祝自己简短
18 端午祝福语安康-简短优美