我需要一个JavaScript数据结构,它可以让我高效地插入字符串和搜索字符串。我一直在寻找,但我发现唯一的数据结构是对象和数组。对象更多用于封装,不能真正用于搜索,使用数组可能会很慢。还有其他的数据结构可以让我高效地插入和搜索字符串吗?目前最好的方法是在数组中执行二分搜索。还有其他想法吗?谢谢。
我需要一个JavaScript数据结构,它可以让我高效地插入字符串和搜索字符串。我一直在寻找,但我发现唯一的数据结构是对象和数组。对象更多用于封装,不能真正用于搜索,使用数组可能会很慢。还有其他的数据结构可以让我高效地插入和搜索字符串吗?目前最好的方法是在数组中执行二分搜索。还有其他想法吗?谢谢。
对象更多地用于封装,不能真正用于搜索。
这在传统语言中是正确的,在JS中并不完全如此。
var obj = { memberone: "value1" }
var value = obj["memberone"];
//value === "value1"
JS中可以搜索对象。请耐心等待...
使用数组可能会慢。
是的,可能会慢 - 但不一定慢。
有没有其他数据结构可以让我高效地插入和搜索字符串?
数据结构?没有。再说一遍,这是一个经典的观点。在JS中,情况不同。
看看_underscore.js吧。
这是JS灵活性的一个很好的例子。
希望这能帮到你。 祝好! Nash
strs = {"hello world": 1}; "hello world" in strs // -> true in "O(1)" time
(请记住,在访问对象属性时使用的键会自动转换为字符串,这在这里是可以的,因为它们只是字符串。) - user166390