js数组遍历
Posted cppdy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数组遍历相关的知识,希望对你有一定的参考价值。
1,普通for循环,经常用的数组遍历
var arr = [1,2,3,4,5]; for ( var i = 0; i <arr.length; i++){ console.log(arr[i]); }
2,优化版for循环:使用变量,将长度缓存起来,避免重复获取长度,数组很大时优化效果明显
var arr = [1,2,3,4,5]; for(var j = 0,len = arr.length; j < len; j++){ console.log(arr[j]); }
3,forEach,ES5推出的,数组自带的循环,主要功能是遍历数组,实际性能比for还弱
var arr = [1,2,3,4,5]; arr.forEach(function(value,i){ console.log(‘forEach遍历:‘+i+‘--‘+value); })
forEach这种方法也有一个小缺陷:你不能使用break语句中断循环,也不能使用return语句返回到外层函数。
4,map遍历,map即是 “映射”的意思 用法与 forEach 相似
var arr = [1,2,3,4,5]; arr.map(function(value,index){ console.log(‘map遍历:‘+index+‘--‘+value); });
map遍历支持使用return语句,支持return返回值
var arr = [1,2,3,4,5]; var temp=arr.map(function(val,index){ console.log(val); return val*val; }) console.log(temp);
forEach、map都是ECMA5新增数组的方法,所以ie9以下的浏览器还不支持
5,for-of遍历 是ES6新增功能
var arr = [1,2,3,4,5]; for( let i of arr){ console.log(i); }
与forEach()不同的是,它可以正确响应break、continue和return语句
for-of循环不仅支持数组,还支持大多数类数组对象。
6,for-in遍历
var arr = [1,2,3,4,5]; for (var index in arr){ console.log(index+"-->"+arr[index]); }
在众多的循环遍历方式中,它的效率是最低的
以上是关于js数组遍历的主要内容,如果未能解决你的问题,请参考以下文章
NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段