有没有可以在Javascript中有效编辑大字符串的库?

时间:2011-03-27 23:11:08

标签: javascript algorithm text

我需要在javascript中有效地编辑大型文本文档(例如,源代码文件)。

insertAtPosition(n, str)deleteAtPosition(n, length)必须快速。

天真的字符串实现很慢,因为每个操作都需要将文档的内容复制到新字符串。

有一些有效的方法可以做到这一点。我可以使用一个行数组(Ace,也就是Bespin这样做),但是当有超长行或许多短行时这会很慢。更好的实现将使用skip lists或其他一些聪明的数据结构。

但是,我希望有人已经实现了这样的事情。

是否有任何图书馆已经这样做了?我似乎无法找到任何与谷歌有用的东西 - 这个算法问题有一个共同的名称吗?

1 个答案:

答案 0 :(得分:2)

我认为没有任何其他库可以执行此操作,因此我使用跳过列表自行实现它。使用树数据结构可能会更快,但跳过列表很容易实现,而关闭编译的javascript只有2.5 KB。

如果有其他人有同样的问题,请享受:

https://github.com/josephg/jumprope