在字符串列表中搜索字符串

时间:2013-07-29 11:32:45

标签: javascript string binary-search-tree trie

我有一个字符串列表&我想检查是否找不到特定的字符串。 我使用javascript,所以我想知道Trie或二进制搜索方法是否会更好。是否有预先实现的东西可以用于这样的事情?

这是对象:

var TheObject = { "TheItemId": Index, "TheItemText": NewItem };

我有一个这个对象的列表,当我插入一个新的Item时,我想确定“TheItemText”不包含任何类似的文本。

2 个答案:

答案 0 :(得分:1)

可以将JavaScript对象视为哈希映射。所以你要保留一个对象var strings = {}。每当您向列表添加对象时,您还会向strings对象添加属性:strings[text] = true。然后,您可以使用if (strings[text]) {轻松检查是否已添加文本。此解决方案的缺点是您必须跟踪两个集合(您的列表和strings)中的更改。也许您根本不需要列表,然后您可以使用strings[NewItem] = { 'TheItemId': Index, 'TheItemText': NewItem }。 <'TheItemText'和属性名称的更改必须仍然是协调的。

答案 1 :(得分:0)

不会有这样的工作吗?

typeof TheList.TheItemText === 'undefined'