扫码关注官方订阅号
面试被问到,那时候完全不知道...现在学会了几种 先抛个砖
var arr = [1,2,2,3,4,5,6]; for(var i = 0; i
还有没有其他方式呢,最好利弊也介绍下
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
可以使用map方法,在codewars上很多人使用这个方法遍历数组,但是在w3cschool上查询手册时没有查到
var arr = [1,2,2,3,4,5,6]; arr.map(function(n){ console.log(n); });
现在知道map方法是怎么回事了,从javascript 6开始,javascript引入了map方法,目前仅有chrome和firefox支持,其他浏览器可以使用以下扩展来实现:
Array.prototype.map = function(fn) { var a = []; for ( var i = 0; i < this.length; i++) { var value = fn(this[i], i); if (value == null) { continue; } a.push(value); } return a; };
没人写迭代么?
var arr = [1,2,2,3,4,5,6]; var i = 0; function echo(){ if(i < arr.length -1) { console.log(arr[i]); i++; echo(); } } echo();
因为数组也是一种对象,所以还可以使用 for in 来遍历数组:
for in
var arr = [1,2,2,3,4,5,6]; for(var i in arr) console.log(arr[i]);
但是由于该方法遍历原型链上所有可枚举的属性,因此在执行时,会过一遍所有原型链上的属性以判断它的枚举值,所以效率表现不佳。 使用普通的 for 循环是最佳的遍历数组方法,但是最好能缓存数组长度,这样可以避免每次遍历时计算数组长度的开销。
for
var arr = [1,2,2,3,4,5,6]; for(var i = 0, l = arr.length; i < l; i ++) console.log(arr[i]);
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以使用map方法,在codewars上很多人使用这个方法遍历数组,但是在w3cschool上查询手册时没有查到
现在知道map方法是怎么回事了,从javascript 6开始,javascript引入了map方法,目前仅有chrome和firefox支持,其他浏览器可以使用以下扩展来实现:
没人写迭代么?
因为数组也是一种对象,所以还可以使用
for in来遍历数组:但是由于该方法遍历原型链上所有可枚举的属性,因此在执行时,会过一遍所有原型链上的属性以判断它的枚举值,所以效率表现不佳。
使用普通的
for循环是最佳的遍历数组方法,但是最好能缓存数组长度,这样可以避免每次遍历时计算数组长度的开销。