我有一个字符串列表&我想检查是否找不到特定的字符串。 我使用javascript,所以我想知道Trie或二进制搜索方法是否会更好。是否有预先实现的东西可以用于这样的事情?
这是对象:
var TheObject = { "TheItemId": Index, "TheItemText": NewItem };
我有一个这个对象的列表,当我插入一个新的Item时,我想确定“TheItemText”不包含任何类似的文本。
答案 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'