js数组遍历和对象遍历

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;jj++){
    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);
}

你可能感兴趣的:(js数组遍历和对象遍历)