爱生活,爱编程,学习使我快乐
针对js各种遍历作一个总结分析,从类型用处:分“数组遍历”和“对象遍历”;还有性能,优缺点等。
var arr = [1,2,0,3,9];
for ( var i = 0; i <arr.length; i++) {
console.log(arr[i]);
}
for(var j = 0,len = arr.length; j < len; j++){
console.log(arr[j]);
}
arr.forEach(function(value,i){
console.log('forEach遍历:'+i+'--'+value);
})
forEach这种方法也有一个小缺陷:
你不能使用break语句中断循环,也不能使用return语句返回到外层函数。
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以下的浏览器还不支持
for( let i of arr){
console.log(i);
}
for-in是为遍历对象而设计的,不适用于遍历数组。
遍历数组的缺点:数组的下标index值是数字,for-in遍历的index值”0″,”1″,”2″等是字符串
for (var index in arr){
console.log(arr[index]);
console.log(index);
}
【相关文件】
JS的forEach和map方法的区别(推荐)http://www.yanghuiqing.com/qd/javascript/117
来源:http://www.cnblogs.com/yizhilin/p/7344675.html