0

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

这是对象:

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

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

4

2 回答 2

1

JavaScript 对象可以被视为哈希映射。所以你会保留一个 object var strings = {}。每当您将对象添加到列表时,您也会向strings对象添加属性:strings[text] = true。然后你可以很容易地检查之前是否已经添加了文本if (strings[text]) {。此解决方案的缺点是您必须跟踪两个集合(您的列表和strings)中的更改。也许您根本不需要列表,那么您可以使用strings[NewItem] = { 'TheItemId': Index, 'TheItemText': NewItem }. 对“TheItemText”和属性名称的更改必须保持一致。

于 2013-07-29T11:49:36.590 回答
0

Wouldn't something like this work?

typeof TheList.TheItemText === 'undefined'
于 2013-07-29T11:35:39.480 回答