有没有办法在 Javascript 中对文本文件中的特定键进行基于磁盘的二进制搜索?文本文件太大,无法加载到内存中,但按键值排序。特别是我正在寻找一种模仿 Perl 的 Search::Dict 的方法。 Javascript 中的功能。
例如如果我有一个文件 foo.txt:
a 1
b 10
c 5
z 4
look(c,foo.txt)
应该通过二进制搜索而不是线性遍历文件来返回行“c 5
”。
最佳答案
我不知道 Javascript,但是如果你可以进行随机搜索,你可以通过搜索到当前 block 的中点(以字节为单位)进行二进制搜索,然后向前移动直到你使用换行符,只要您“知道”您的 key 是针对换行符的。
不过,在某些情况下,您需要向后移动,因此您可以在了解文件缓冲的情况下进行搜索,这样后退步骤就不会很昂贵。
如果您不处理 ASCII 文件,我想这可能会有点麻烦。
关于javascript - 使用 Javascript 二进制搜索文本文件中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544292/