Most efficient method to check for range of numbers within number without duplicates(检查数字内数字范围而不重复的最有效方法)
问题描述
给定一个数字 n ,一个最小数字 min ,一个最大数字 max ,什么是最有效的确定方法
数字
n是否在范围内,包括min-max数字
n是否包含重复的数字这里的效率意味着方法或方法集需要最少的计算资源,并在最少的时间内返回
true或false上下文:
for循环中if的条件,可能需要数千到数十万次迭代才能返回结果;其中返回true或false对于Number检查所需的毫秒数可能会影响性能
在 DevTools 的 Profiles 面板上,对 71,3307 项迭代的集合,列出了以下 RegExp使用 27.2ms 的总 1097.3ms 来完成循环.在 836,7628 个项目的集合中,迭代 RegExp 下面使用了 193.5ms,总共 11285.3ms .p>
要求:在最短的时间内返回上述参数的 Boolean true 或 false 的最有效方法.
注意:解决方案不必局限于 RegExp ;下面用作返回预期结果的模式.
当前 js 利用 RegExp re , RegExp.protype.test()
var min = 2, 最大值 = 7, re = new RegExp("[" + min + "-" + max + "](.)(?!=1)", "g"), arr = [81, 35, 22, 45, 49];for (var i = 0; i < arr.length; i++) {console.log(re.test(arr[i]), i, arr[i])/*假 0 81真实 1 35假 2 22真实 3 45假 4 49*本文标题为:检查数字内数字范围而不重复的最有效方法
基础教程推荐
- 什么是不使用 jQuery 的经验技术原因? 2022-01-01
- 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
- Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
- WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
- Node.js 有没有好的索引/搜索引擎? 2022-01-01
- 每次设置弹出窗口的焦点 2022-01-01
- 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
- 如何在特定日期之前获取消息? 2022-01-01
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
- jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
