javascript - 为什么Javascript的每个方法都被压倒了?

标签 javascript arrays performance loops benchmarking

我已经制定了基准测试来检查几种遍历数组的方法的性能。

https://jsperf.com/extended-array-loops-performance

有人可以解释为什么每种方法都如此强大吗?完全奇怪的是,它比任何其他方法都要快 90% 以上,甚至比那些类似的方法还要快

最佳答案

因为您只运行一次。

every() 将循环遍历元素,直到找到 false 值,此时它将返回。

由于您的基准测试不返回任何内容,即 undefined,即 falsey,因此它只运行一次。所有其他循环都贯穿所有元素。

将您的测试更改为:

arr.every(val => {
  sth = val;
  return true;
});

它应该与其他部分保持一致。

关于javascript - 为什么Javascript的每个方法都被压倒了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49803533/

相关文章:

javascript - 覆盖 JQuery 之前的回调函数

javascript - 网站无休止地加载 JavaScript 文件

c++ - 动态分配自定义类的数组并重载运算符

python - 在 Python 中初始化对象列表

javascript - 当在 if 条件下检查索引变量时,Array.Splice() 不会删除零索引处的元素

java - 使用 Eclipse 在 Java 类中调试时更改代码

java - 最佳实践——异常处理

javascript - 元素不响应 setStyle

javascript - SVG.js TextPath 未与路径对齐(垂直)

java - 为什么处理排序数组比处理未排序数组更快?