我有一个字符串列表,我想检查其中是否找不到特定的字符串。我使用 javascript,所以我想知道 Trie 或二进制搜索方法是否会更好。是否有一些预先实现的东西可以用于这样的事情?
这是对象:
var TheObject = { "TheItemId": Index, "TheItemText": NewItem };
我有一个这些对象的列表,当我插入一个新项目时,我想确保“TheItemText”不包含任何类似的文本。
我有一个字符串列表,我想检查其中是否找不到特定的字符串。我使用 javascript,所以我想知道 Trie 或二进制搜索方法是否会更好。是否有一些预先实现的东西可以用于这样的事情?
这是对象:
var TheObject = { "TheItemId": Index, "TheItemText": NewItem };
我有一个这些对象的列表,当我插入一个新项目时,我想确保“TheItemText”不包含任何类似的文本。
JavaScript 对象可以被视为哈希映射。所以你会保留一个 object var strings = {}
。每当您将对象添加到列表时,您也会向strings
对象添加属性:strings[text] = true
。然后你可以很容易地检查之前是否已经添加了文本if (strings[text]) {
。此解决方案的缺点是您必须跟踪两个集合(您的列表和strings
)中的更改。也许您根本不需要列表,那么您可以使用strings[NewItem] = { 'TheItemId': Index, 'TheItemText': NewItem }
. 对“TheItemText”和属性名称的更改必须保持一致。
Wouldn't something like this work?
typeof TheList.TheItemText === 'undefined'