数组循环--for,for...in,for...of,forEach之间的区别

闲来无事,把最近遇见的遍历和之前所用到的遍历方法之间的区别和用法总结一下。

  • for
    优点:数组最早的遍历方式,兼容性好
for(var i = 0; i<array.length; i++){
     console.log(array[i]);
}
  • for...in
    应用场景:for–in是用来循环带有字符串key的对象的方法。
    实际是为循环”enumerable“(可枚举)对象而设计的
    缺点:不推荐遍历数组对象
for(var key in object){
   console.log(key);
}
  • forEach
    优点:es6内置方法
    短处:你不能中断循环(使用break语句或使用return语句)
array.forEach(function(item,index){
  console.log(item);
})
  • for...of
    es7语法
    可循环:Array、String、TypedArray(类型化数组)、 Set、Map、DOM Collection、生成器(generators)
    缺点:不能直接用于普通对象的循环,可以按对象拥有的属性循环,使用内置的 Object.keys()
for (var value of array) { 
  console.log(value);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容