2013-07-29 117 views
0

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

这里是对象:

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

我有这个对象的列表,当我插入一个新的项目,我想,以确保“TheItemText”不包含任何类似的文字。

+0

“Trie or w binary”是什么意思? – Virus721

+0

搜索算法 –

+0

如果它是一个有效的json字符串,您可以使用内置函数。 –

回答

0

会不会有这样的工作?

typeof TheList.TheItemText === 'undefined' 
+0

我可以使用命令检查它,但我在问最好的算法来做它 –

1

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