js数组遍历和对象遍历(所有方法对比)

针对js各种遍历作一个总结分析,从类型用处:分"数组遍历"和"对象遍历";还有性能,优缺点等。

JS数组遍历:

1、普通for循环,经常用的数组遍历

javascript 复制代码
var arr = [1,2,0,3,9];
for ( var i = 0; i <arr.length; i++) {
  console.log(arr[i]);
}

2、优化版for循环(使用变量,将长度缓存起来,避免重复获取长度,数组很大时优化效果明显)

javascript 复制代码
for(var j = 0,len = arr.length; j < len; j++){
    console.log(arr[j]);
}

3、forEach,ES5推出的,数组自带的循环,主要功能是遍历数组,实际性能比for还弱

javascript 复制代码
arr.forEach(function(value,i){  
  console.log('forEach遍历:'+i+'--'+value);
})

forEach这种方法也有一个小缺陷: 你不能使用break语句中断循环,也不能使用return语句返回到外层函数。

4、map遍历,map即是 "映射"的意思,用法与 forEach 相似。

javascript 复制代码
arr.map(function(value,index){
  console.log('map遍历:'+index+'--'+value);
});

map遍历支持使用return语句,支持return返回值

javascript 复制代码
var temp = arr.map(function(val,index){
  console.log(val);
  return val*val           
})
console.log(temp); 

forEach、map都是ECMA5新增数组的方法,所以ie9以下的浏览器还不支持

5、for-of遍历 是ES6新增功能

javascript 复制代码
for( let i of arr){
  console.log(i);
}
  • for-of这个方法避开了for-in循环的所有缺陷
  • 与forEach()不同的是,它可以正确响应break、continue和return语句
  • for-of循环不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象
  • for-of循环也支持字符串遍历

JS对象遍历:

1、for-in遍历

for-in是为遍历对象而设计的,不适用于遍历数组。

遍历数组的缺点:数组的下标index值是数字,for-in遍历的index值"0","1","2"等是字符串

javascript 复制代码
for (var index in arr){
    console.log(arr[index]);
    console.log(index);
}

来源:www.cnblogs.com/yizhilin/p/...

相关推荐
我的写法有点潮5 小时前
前端必须会的 TypedArray:一文吃透
前端·javascript
Mintopia5 小时前
扩散模型在 Web 图像生成中的技术演进:从“随机噪声”到“浏览器里的画家”
前端·javascript·aigc
召摇5 小时前
简洁语法的逻辑赋值操作符
前端·javascript
Watermelo6175 小时前
复杂计算任务的智能轮询优化实战
大数据·前端·javascript·性能优化·数据分析·云计算·用户体验
qczg_wxg5 小时前
React Native系统组件(二)
javascript·react native·react.js
芝士加5 小时前
月下载超2亿次的npm包又遭投毒,我学会了搭建私有 npm 仓库!
前端·javascript·开源
千汇数据的老司机5 小时前
交互体验升级:Three.js在设备孪生体中的实时数据响应方案
开发语言·javascript·交互
鹏多多6 小时前
Web图像编辑神器tui.image-editor从基础到进阶的实战指南
前端·javascript·vue.js