1.普通for循环
for (let i = 0; i < arr.length; i++) {
let obj = arr[i];
}
优化:
for (let i = 0,len = arr.length-1; i < len; i++) {
let obj = arr[i];
}
2.foreach 数组方法
arr.forEach(function(e){
});
数组自带的方法,使用起来比普通for循环性能弱一点
3.for in 遍历对象
for(let j in arr) {
}
大家可能用这个用的比较多(ps:以前我经常用),不过实际测试这个是效率最低的 ,这个底层他会去遍历原型上的所有方法和属性,消耗的资源可想而知,虽然功能比较强大,大家用起来比较方便,具体用不用自己衡量
4.map遍历(es6)
arr.map(function(n){
});
数组的方法,比不上foreach效率
5.for of(es6)
for(let value of arr) {
}
这种方式是es6里面用到的,性能要好于for in,但仍然比不上普通for循环
总结:
for in 是性能效率最低的 如果不是必要,不建议使用,平时大多数情况还是使用优化版的普通for循环好一点,如果是从旧数组中创建新数组那么就用map 吧