字符串是浏览器内部一千万个const类型的唯一域名的列表中的域名(google.com)。我可以将一千万个字符串连接成1个字符串,所以这是检查子字符串的问题,或者可以使用数组索引of来检查索引。
这类似于https://stackoverflow.com/a/1473742/2752107和其他相关问题,但没有解决问题的规模。
答案 0 :(得分:1)
这取决于多个因素。
该数组是否以任何方式排序?如果是这样,也许最好的选择就是二进制搜索。
是否要在未排序的数组中查找特定的字符串,并在找到后退出循环?您最好使用Array.prototype.find()
或创建一个for循环并在找到字符串后立即中断。
是否需要检查数组中的每个字符串?一个简单的for循环就可以解决问题。
答案 1 :(得分:0)
要么我可以将一千万个字符串连接成1个字符串,所以这是检查子字符串的问题,或者可以使用数组索引of来检查索引。
检查子字符串比使用索引检查子字符串慢。
根据Rezaa91's answer的建议,如果可以对数组进行排序,则可以执行binary search,它比线性搜索要快 。
但是,如果您确实希望线性搜索,请使用Web Worker,以便在搜索过程中您的网站/应用程序保持可用和响应。