javascript 中有重复项的数组中的子字符串二进制搜索

Substring Binary search in array with duplicates in javascript

我有一组(1000 个)品牌,我想在其中提供快速搜索。因此,当我开始输入 ie: "m" 时,我应该得到 "mammut" 和 "millet"。数组已排序。那么有人知道不需要遍历整个数组的快速解决方案吗?最佳 javascript。谢谢

var brands = new Array("arcterix", "mammut", "millet", "ortovox", ... )

function search(brands, substring){
 // will return array of founded brands which begins on substring
}

试试这个

var brands = ["arcterix", "mammut", "millet", "ortovox"]

function search(brands, substring){
 return brands.filter( i => i.startsWith(substring) )
}

console.log(search(brands, 'm')) // ['mammut', 'millet']

这非常快。做事更快几乎是不可能的,一切都为你优化。