检查数字是否在集合中的最快速方法
Quickest way to check if a number is in a set?
在Javascript中,检查数字是否在列表中最快的方法是什么?
我知道indexOf>=,但对我来说似乎很慢。
我必须每秒执行数百万次检查,并且列表相当短(最多10个条目)
在jsperf中尝试一下,但我怀疑使用对象并将数字设置为属性会比数组搜索更快。
var theList = { 1: true, 2000: true, 253: true, -12077: true, ... };
if (theList[ someNumber ]) { // see if some number is in the list
也就是说,现在,你将无法在网络浏览器中每秒数百万次使用JavaScript做任何有用的事情,除非是在不做太多其他事情的高端机器上。
最好使用indexof()
作为一种在您的情况下不受欢迎的替代方案,使用Enumerable#include
您可以使用Enumerable#include,但我怀疑它是否比indexof()
更快,比如:-
[1, 2, '3', '4', '5'].include(3);
如果你想提高理解速度,请使用array.includes
:
[-1, 1, 2].includes(0) // false
[-1, 1, 2].includes(-1) // true
[-1, 1, 2].includes(-2) // false
[-1, 1, 2].includes(2) // true
[-1, 1, 2].includes(3) // false
相关文章:
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 在JavaScript中,有没有一种方法可以解析JSON,将数字转换为字符串
- 每次使用 Javascript 加载页面时增加一个数字(变量)的简单方法
- Javascript从关联数组中查找最低数字(气泡排序方法)
- jQuery(或Javascript)基于给定的C#/VBA/Java格式字符串格式化数字的方法
- Javascript getDay方法返回错误的数字
- 模仿通过引用而不是值将数字传递给函数的任何方法
- 是否有一种本机方法可以将字符串从任何区域设置转换为数字
- (Js)数字方法在第一个数字后添加逗号并删除逗号后的2个数字??有没有
- 将方法添加到数字引发异常
- 检查两个数字是否相等的最佳方法
- parseInt 用于分析数字字符串的替代方法
- Javascript:生成唯一数字字符串的最佳方法是什么
- 是否有可接受的跨平台方法在基于触摸的设备上以标准 Web 表单显示数字键盘
- Opera 12 的输入类型=数字有效性行为的任何解决方法
- 从字符串中拆分字母和数字部分的最佳方法是什么
- 将 2 个数字组合起来用作对象键的有效方法是什么
- Java Sctipt 中新 Date() 上的数字方法
- 无法在.data()方法中设置数字
- 为什么javascript在toString方法中用0代替数字