JS数组遍历
1.普通for循环
var arr = [1,2,3,4,5,6];
for(var i=0;i<arr.length;i++){
caonsole.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(value);
})
forEach方法有一个小缺陷,不能使用break语句中断循环,也不能使用return语句返回到外层函数.
4.map遍历,用法与forEach相似
arr.map(function(value,index){
console.log(value);
})
map遍历支持使用return语句,支持return返回值
var temp = arr.map(function(val,index){
console.log(val);
return val*val;
})
console.log(temp);
以上两种方法,在ie9+支持
5.for-of遍历 ES6新增功能
for(let i of arr){
console.log(i);
}
for-of避开了for-in循环的所有缺陷,也可以正确响应break,continue和return语句;同时支持对象和字符串遍历.
JS对象遍历
1.for-in遍历
是为遍历对象而设计的,不适用于遍历数组
遍历数组的缺点,数组的下标index值是数字,for-in遍历的index值”0”,”1”,”2”等是字符串
for(var index in arr){
console.log(arr(index));
console.log(index);
}