.includes() 算法和速度?

2023-12-21

我有兴趣知道 .includes() 方法使用什么算法?它是否使用像 rabin karp 这样的模块化哈希?

在不了解更多有关其方法和速度的情况下,我对使用 .includes() 有点犹豫。我发现的文档在讨论它时没有详细说明(例如https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/includes https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/includes)


鉴于不同的引擎可以以不同的方式实现 .includes,因此可能很难对实现做出笼统的声明。然而,应该可以通过进行一些基准测试来了解它的速度(因为测试可能是确定的唯一方法)。

使用节点 7.0 我尝试测试三个不同的功能:
1.includes(),传入一个顺序数组
2. 一个基本的for循环,传入一个顺序数组
3. has(),从顺序数组中传入预先创建的集合

我获得的结果表明数组本身的长度似乎并不重要(如希望的那样),但所需的数字距离开始有多远却很重要。对于查找索引

诚然,这些测试在某种程度上是有限的,许多因素可能会影响它们。一个有趣的结果是,如果从传入的数组(而不是其他数组)创建一个集合,即使该集合没有传递到函数中,它似乎也会提高包含的速度,并降低包含的速度for循环函数略。我认为某种类型的缓存在某种程度上有利于 .includes() ?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.includes() 算法和速度? 的相关文章

  • 如何检测浏览器是否支持自定义元素

    我正在查看 Modernizr 它应该有助于功能检测 这应该可以帮助确定您的网站是否与给定的 Web 浏览器兼容 但我没有看到任何表明我可以使用它来检测自定义 HTML 的内容我们在内容中创建和定义的元素 如果不是 Modernizr 我如
  • React js Stripe 结账不起作用

    我正在尝试在 React js 应用程序中呈现条带结账默认表单
  • 每 3 秒重复一次动画

    我正在使用 WOW js 和 animate css 现在我正在将 CSS 运行到 Infinite 我想知道如何让我的课程运行 3 秒停止并再次开始到无限 My html img src images fork png class for
  • 不和谐机器人 |不和谐.js |类型错误:无法读取未定义的属性“长度”

    我正在制作一个 Discord 机器人 并且正在使用 CodeLyon 的视频作为参考 该错误位于我的 message js 文件中 该文件包含以下内容 require dotenv config create cooldowns map
  • 尝试将布尔 C# 变量传递给 javascript 变量并将其设置为 true

    在我的 aspx 页面中 我将布尔变量 C 传递给需要布尔类型的 javascript 函数 但遇到了问题 但是 C 变量返回 True 而 javascript 不喜欢大写 myjavascript 如果我将 c 变量转换为字符串 那么我
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • 提交表单并重定向页面

    我在 SO 上看到了很多与此相关的其他问题 但没有一个对我有用 我正在尝试提交POST表单 然后将用户重定向到另一个页面 但我无法同时实现这两种情况 我可以获取重定向或帖子 但不能同时获取两者 这是我现在所拥有的
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型

随机推荐

  • 如何在Java中将getRGB(x,y)整数像素转换为Color(r,g,b,a)?

    我有从中获得的整数像素getRGB x y 但我不知道如何将其转换为 RGBA 格式 例如 16726016应该Color 0 200 0 255 有小费吗 如果我猜对了 你得到的是一个无符号整数的形式0xAARRGGBB so int b
  • JNI - java ArrayList 转换为 c++ std::string*

    我正在尝试使用 C 中的 JNI 进行数据转换 我在工作中遇到了麻烦java s 数组列表 of strings 因为我无法将这样的数据转换为c vector or 标准 字符串 我想知道如果可能的话 如何在不牺牲太多性能的情况下进行这种转
  • 打开本地html页面-java

    在我的 java 控制台应用程序之一中 我正在动态创建 html 页面 现在我想使用默认的网络浏览器打开它 所以你们能帮我解决这个问题吗 Swing java awt Desktop getDesktop browse uri SWT Pr
  • 如何使用C++ Expects 运算符?

    我正在使用 C 启动一个项目 除了少数学校项目之外 我之前从未使用过 C 远远超出了我现在正在处理的范围 我的目标是尽力遵循C 核心指南 https isocpp github io CppCoreGuidelines CppCoreGui
  • 嵌套资源的 Link_to 路由问题

    我有两个模型 作业 和 问题 一份工作有很多问题 而问题又属于一份工作 我已经在模型中设置了资源以及路线 我在尝试 link to questions index 页面上问题控制器的 Show 方法时遇到问题 我的 rake 路线说路径应该
  • selenium 获取元素类和文本

    我无法从以下 html 页面找到 test1 test2 dd class class subclass test1 test2 test3 dd 尝试过 dd contains class class subclass and conta
  • ASP.NET MVC 中的 Google API 图表

    我正在使用 google api 创建一个简单图表 AllowAnonymous public JsonResult PieChart return Json State Total GA 50 AL 30 JsonRequestBehav
  • 类构造函数默认为 void 吗?

    我一直在阅读 C 中的类构造函数 示例显示重载类构造函数 而且他们所有人都没有void关键字并且它们都没有返回值 e g public Class myClass public myClass public myClass int id o
  • Apache Camel AMQP - ActiveMQ AMQP 标头不匹配值 1,期望 0

    我正在尝试创建一个通过 AMQP 与 ActiveMQ 集成的 Apache Camel 应用程序 我一直在按照提供的 骆驼示例 spring jms 项目 它通过标准 TCP 连接 但我已修改为使用我的独立 ActiveMQ 5 8 安装
  • 将 Google Cloud Build 连接到 Google Cloud SQL

    Google Cloud Run 允许使用 Cloud SQL 但是 如果您在 Google Cloud Build 中构建容器时需要 Cloud SQL 该怎么办 那可能吗 背景 我有一个 Next js 项目 它在 Google Clo
  • 对象具有与成员函数不兼容的类型限定符

    我的课Game有一个会员EntityManager entityManager 班上EntityManager有一个私人成员Player player 和公共 getter 函数Player EntityManager getPlayer
  • 减少模板匹配的失误(使用透明模板)

    我正在尝试确定拼图图像上拼图块的位置 我有 拼图的图像 透明 png 拼图板的图像 正确位置周围有白色轮廓 首先 我提取图像 1 上的轮廓 并用它来绘制我的最终模板 然后我将最终模板与拼图板匹配并保存一些结果图像 这是我得到的结果的一些示例
  • 修改常量对象

    我正在查看初级 C 开发人员职位的面试问题 问题是 引用 是下面的代码correct struct Foo int i void foo void const Foo pointer const cast
  • elasticsearch监听多个ip

    是否可以监听多个主机地址 以便我可以监听本地主机请求和私有 IP 请求 就像是 network host 127 0 0 1 192 168 1 4 事实上是的 使用 JSON 表示法 这是我在配置中使用的 network bind hos
  • 使用 NSPopUpButtonCell 时在 NSTableView 中获取重复的标题按钮单元格

    我有一个动态 NSTableView 它可以根据提供的数据添加许多列 对于每一列 我将标题单元格设置为 NSPopUpButtonCell 旁注 我必须为 NSTableHeaderView 使用自定义子类 否则菜单不会弹出 除了右上角有一
  • Meteor:检测嵌套模板中的事件

    新手流星问题 我的代码与此大致相似
  • 如何使用 string.join 连接对象数组中的值?

    我有一个对象数组 例如 MyObject objs 在 MyObject 中它包含一个字符串属性 object 0 stringValue 如果我想按对象加入整个对象数组stringValue 我该怎么做 string Join objs
  • 为什么,致命错误:在...中找不到类“PHPUnit_Framework_TestCase”?

    为什么我会收到此 PHP 错误 Fatal error Class PHPUnit Framework TestCase not found in 对于那些在将 phpunit 更新为之后到达这里的人版本 6 或更高版本于 2017 02
  • 如何在WordPress页面模板中显示分类法的帖子?

    不确定以前是否有人问过这个问题 但我有点迷失 我创建了一个 新闻编辑室 Pod 其中包含新闻编辑室类别的自定义分类法 新闻编辑室类别有 3 个字段 新闻稿 媒体 其他 我有一个 WordPress 页面模板 taxonomy newsroo
  • .includes() 算法和速度?

    我有兴趣知道 includes 方法使用什么算法 它是否使用像 rabin karp 这样的模块化哈希 在不了解更多有关其方法和速度的情况下 我对使用 includes 有点犹豫 我发现的文档在讨论它时没有详细说明 例如https deve