javascript 四种数组遍历方法
2016-12-26 22:39
531 查看
数组遍历方法
收集一些各种遍历的方法,主要针对数组最传统方法:for( ; ; ){}
var arr=[1,2,3,4,5,6]; for(var i=0;i<arr.length;i++){ console.log(arr[i]); } //输出 1 2 3 4 5 6
for in 方法
var arr=[1,2,3,4,5,6]; for(var i in arr){ console.log(arr[i]); } //输出 1 2 3 4 5 6
forEach 方法 Array.forEach(callback)
注意:forEach()方法是ES5.1标准引入的。
var arr=[1,2,3,4,5,6]; arr.forEach(function(v,i){//v==value 为arr项,i==index 为arr索引 console.log(i+' 'v ); }) //输出 0 1 1 2 2 3 3 4 4 5 5 6
在最新的ES6标准中新增了一个新方法 ==for of==
for of 方法
遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。Map,set–无下标,无法使用索引进行遍历
为了统一集合类型,ES6标准引入了新的iterable类型,
Array、Map和Set都属于iterable类型。
==具有iterable类型的集合可以通过新的for … of循环来遍历。==
var arr=[1,2,3,4,5,6]; for(var value of Arr){ console.log(value); } //输出 1 2 3 4 5 6
for … of循环和for … in循环有何区别
for … in循环,它遍历的实际上是对象的属性名称。
一个Array数组实际上也是一个对象,它的每个元素的索引被视为一个属性。
当我们手动给Array对象添加了额外的属性后,for … in循环将带来意想不到的意外效果:
for in 遍历数组时会为把数组索引作为键值 如:数组0、1、2、3、4、5、…的键;当我们这样写:
var arr=[1,2,3,4,5,6]; arr.value='val'; //在使用for in 遍历时 for(var i in arr){ console.log(i+' '+arr[i]);//这时的i为键值,不为数组索引 } //输出 0 1 1 2 2 3 3 4 4 5 5 6 value val
接着执行,这时出现问题:
arr;//输出[1, 2, 3, 4, 5, 6] //使用 console.log(arr)时,这样 console.log(arr);//输出[1, 2, 3, 4, 5, 6, value: "val"] //alert(arr)时 alert(arr);//输出[1, 2, 3, 4, 5, 6]
而当我们使用for of 时:
var arr=[1,2,3,4,5,6]; arr.value='val'; //在使用for in 遍历时 for(var v of arr){ console.log(v);//v为数组的项 } //输出 1 2 3 4 5 6
直接遍历出值,杜绝使用for in 时,下标索引的影响
相关文章推荐
- javascript 四种数组遍历方法
- javascript 四种数组遍历方法
- javaScript 数组遍历方法总结
- OC-数组遍历的四种方法
- Objective-C中,遍历数组的四种方法
- javascript数组遍历的方法实例分析
- objective-c数组的四种遍历方法总结
- 遍历集合、数组的四种方法
- JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
- JavaScript中遍历数组中元素的两种方法
- JavaScript数组去重的四种方法
- objective-c数组的四种遍历方法总结
- 数组的遍历和元素输出的四种方法
- JavaScript中的数组遍历forEach()与map()方法以及兼容写法
- Java遍历集合、数组的四种方法
- javascript 数组几个有用的方法-过滤,遍历
- javascript遍历数组的两种方法
- javascript遍历数组的两种方法
- javascript遍历数组的方法以及for…of
- javascript数组去重的四种方法