js数组遍历和对象遍历

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

JS数组遍历:

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

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

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

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

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

arr.forEach(function(value,i){
  console.log(‘forEach遍历:‘+i+‘--‘+value);

})

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

4,map遍历,map即是 “映射”的意思 用法与 forEach 相似

arr.map(function(value,index){
    console.log(‘map遍历:‘+index+‘--‘+value);
});

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

var temp=arr.map(function(val,index){
  console.log(val);
  return val*val
})
console.log(temp);  

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

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

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"等是字符串

for (var index in arr){
    console.log(arr[index]);
    console.log(index);
}

原文地址:https://www.cnblogs.com/zjx304/p/10423704.html

时间: 2024-10-16 02:23:52

js数组遍历和对象遍历的相关文章

你不知道的JS系列 ( 39 ) - 对象遍历

for 循环可以遍历数组 var myArray = [1,2,3]; for(var i=0; i<myArray.length; i++) { console.log(myArray[i]) } // 1 2 3 ES5 增加了数组的辅助迭代器,包括 forEach(...).every(...).some(...) forEach(...) 会遍历数组中的所有值并忽略回调函数的返回值 every(...) 会一直运行直到回调返回 false some(...) 会一只运行直到回到函数返回

JS——数组中push对象,覆盖问题,每次都创建一个新的对象

今天写运动框架时,发现将对象push进数组,后面的值会覆盖前面的值,最后输出的都是最后一次的值.其实这一切都是引用数据类型惹的祸.       如果你也有类似问题,可以继续看下去哦.       下面代码模拟: 将json对象的每个键值对,单独搞成对象,再赋值给数组,最后输出数组.结果数组应该是有三个对象.(for-in用于对象遍历) 原文地址:https://www.cnblogs.com/ajaxlu/p/9212539.html

2017/5/8总结 js数组及json(对象数组)操作

1.request获取传值问题 for (int i = 0; i < context.Request.Form.Count; i++) { //for (int i = 0; i < context.Request.Form.Keys[i] ; ) string []txtArr=context.Request.Params.GetValues(context.Request.Form.Keys[i]); for (int j = 0; j<txtArr.Length;j++ ) sb

js数组的4种遍历方式

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"/> 5 <title>数组的遍历方式</title> 6 <script type="text/javascript"> 7 var arr = [11, 22, 33, 55]; 8 //普通的循环遍历方式 9 function first() { 10 11 f

js数组多属性对象排序

</pre><pre name="code" class="html"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/

json对象遍历输出key和value

js遍历json对象原生js遍历json对象 遍历json对象: 无规律: <11script> var json = [ {dd:'SB',AA:'东东',re1:123}, {cccc:'dd',lk:'1qw'} ]; for(var i=0,l=json.length;i<l;i++){ for(var key in json[i]){ alert(key+':'+json[i][key]); } } </script> 有规律: 12345678910111213p

JS数组&amp;对象遍历

遍历的总结,经常用到的,希望帮助你我成长. JS数组遍历: 1,普通for循环 var arr = [1,2,3,4,9]; for ( var i = 0; i <arr.length; i++){ console.log(arr[i]); } 2,优化版for循环:使用变量,将长度缓存起来,避免重复获取长度,数组很大时优化效果明显 for(var j = 0,len = arr.length; j < len; j++){ console.log(arr[j]); } 3,forEach,

JS数组与对象的遍历方法大全

本文简单解析各种数组和对象属性的遍历方法: 原生for循环.for-in及forEach ES6 for-of方法遍历类数组集合 Object.key()返回键名的集合 jQuery的$.each() underscore的_.each() 文中的范例基于以下数组和对象. ? 1 2 3 4 5 6 7 8 var arrTmp = ["value1","value2","value3"]; var objTmp = {     aa:"

js 数组遍历 对象遍历

一.数组遍历 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( var i = 0; i <arr.length; i++){ console.log(arr[i]); } 2,优化版for循环:使用变量,将长度缓存起来,避免重复获取长度,数组很大时优化效果明显 for(var j = 0,len = arr.length; j < len; j++){ console.log(arr[j]); } 3,forEach,ES5推出的,数组自带的循环