首页 > 编程知识 正文

PHP循环遍历数组,php遍历二维数组

时间:2023-05-06 11:09:14 阅读:17043 作者:4340

上一篇文章总结了js交换两个变量之间的值的11种方法和配置文件。 今天,我们将共享js数组遍历的八种方法和配置文件。 当然,直接看看内容吧。

JS序列遍历的几种方法

JS序列遍历基本上是for、forin、foreach、forof、map等几种方法,本文介绍几种用于分析的序列遍历方式和轮廓比较

第一个:常见for循环序列遍历

代码为以下:for(j=0; j arr.length; j ) {

}

简要说明:

是最简单的,使用频率最高的,性能不弱,但还有优化的余地

第二类:优化版for循环序列扫描

代码为以下:for(j=0,len=arr.length; j len; j ) {

}

简要说明:

如果使用临时变量缓存长度以避免重复获取数组的长度,则优化在数组较大时效果会更明显。

该方法基本上是所有循环遍历方法中性能最高的

第三个:弱化版for循环序列遍历

代码为以下:for(j=0; arr[j]!=null; j ) {

}

简要说明:

这种方法实际上也是for循环,不使用length判断,只不过是使用变量本身进行判断

实际上,该方法的性能远远小于常规的for循环

第四个:foreach循环序列遍历

代码为以下:ARR.Foreach(function(e ) )

);

简要说明:

数组附带的foreach循环使用频率高,实际上性能比普通的for循环弱

第5种:foreach变种序列遍历

代码类似于: array.prototype.foreach.call (arr,function(El ) )。

);

简要说明:

由于foreach是Array类型的附带品种,不能直接用于非这种类型的品种(例如NodeList ),因此出现了这种变种。 使用此变种,可以使类似的数组具有foreach功能。

实际性能比普通的foreach弱

第6种:forin循环序列遍历

代码为以下:for(jinarr )。

}

简要说明:

这个循环很多人都喜欢用,但实际上,经过分析测试,在很多循环扫描方式中

其效率最低

第七类:map遍历

代码为以下: arr.map (功能(n ) )。

);

简要说明:

这种方式也比较广泛,用于优雅,但实际效率比不上foreach

第8类:forof扫描(需要ES6支持) ) ) ) ) ) ) ) )。

代码为以下:for(letvalueofarr ) :

);

简要说明:

这种方式在es6中使用,性能比forin好,但仍然比不上普通的for循环

各种遍历方式的性能比较

上述几种方式均进行了逐一对比分析,可以得出基本为:的结论

普通的for循环是最优雅的

(所有PS:或更高版本的代码都是空循环的,没有循环内部执行代码,只是分析每个循环的时间。)

性能比较屏幕截图

分析结果1

以下的屏幕截图数据是在chrome (支持es6 )中执行100次的结果)每次执行10次,共计在10个循环中得到的分析结果)

可见forin循环最慢。 优化的常规for循环是最快的

分析结果2

以下截图数据是在chrome (支持es6 )中执行1000次的结果)每次执行100次,共计10个循环中得到的分析结果)。

相关建议:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。