【问题标题】:Search for a string in a list of strings在字符串列表中搜索字符串
【发布时间】:2013-07-29 11:32:45
【问题描述】:

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

这是对象:

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

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

【问题讨论】:

  • “Trie or w binary”到底是什么意思?
  • 如果它是一个有效的 json 字符串,您可以使用内置函数。
  • 内置函数什么的?

标签: javascript string binary-search-tree trie


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这样的东西不可行吗?

    typeof TheList.TheItemText === 'undefined'
    

    【讨论】:

    • 我可以使用命令检查它,但我在问最好的算法来做到这一点
    猜你喜欢
    • 2020-03-12
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 1970-01-01
    相关资源
    最近更新 更多