运算符在Javascript中测试集合成员资格

前端之家收集整理的这篇文章主要介绍了运算符在Javascript中测试集合成员资格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我怎样才能有效地在Javascript中进行集合成员资格检查?我有一个可能很大的字符串数组,我需要验证给定的字符串是否是数组的成员.

最初我认为in运算符可以提供帮助,但是在阅读了Mozilla Developer Network上的文档后,我发现了它的用途is different.在Javascript中它检查指定的属性是否在指定的对象中.

出于性能相关的原因,我更喜欢使用js内置,但是如果不存在这样的函数,我可能最终会做以下其中一项:

>使用数组创建一个具有数组元素作为键的对象,然后使用
>迭代数组元素并逐项进行比较
>实现二进制搜索

任何意见?还是更好的想法?

谢谢

最佳答案
正如你在this问题中发现的那样,几乎每个框架都有一个功能,一些浏览器甚至本身实现了一个indexOf函数(尽管不是全部).

似乎他们都通过迭代数组来完成它,有些使用另一个方向(从结束开始),因为它看起来更快.对于次线性算法,您可能需要在键上实现某种带二进制搜索的哈希集.

可以在here找到HashSet实现的示例.

猜你在找的JavaScript相关文章