Js数组遍历,基本有for、forin、forEach、forof、map等一些方法,下面进行对比分析:
1>.普通for循环(最简单一种,使用频率高,性能不差,但仍然有优化空间)。
var arr = ['wukong', 'bajie', 'shaseng' ] for(var i = 0; i < arr.length; i++) { console.log(arr[i]) }
2>.优化版for循环(优化后将长度缓存起来,避免重复获取长度,当数据较大时,回报比较明显。性能上基本算最高)。
var arr = ['wukong', 'bajie', 'shaseng' ]; var len = arr.length; for(var i = 0; i < len; i++) { console.log(arr[i]) }
3>.forEach循环(数组自带的forEach,使用频率高,实际性能比普通for循环弱)
var arr = ['wukong', 'bajie', 'shaseng' ]; arr.forEach(element => { console.log(element); }
4>.forin循环(效率最低)
var arr = ['wukong', 'bajie', 'shaseng' ]; for(let i in arr){ console.log(arr[i]) })
5>.map(使用比较广泛,虽然优雅,但是效率其实还不如forEach)
var arr = ['wukong', 'bajie', 'shaseng' ]; arr.map(function(e)) { console.log(e); }
6>.forof循环遍历(需要ES6的支持)
var arr = ['wukong', 'bajie', 'shaseng' ]; for(let value of arr){ console.log(value) }
综合而言,forin最慢,优化后的for循环最快。