Javascript中的遍历

对象遍历

方法 是否可遍历不可枚举属性 是否可遍历Symbol属性 是否可原型链属性
Object.keys --- --- ---
for...in --- --- true
Object.getOwnPropertyNames true --- ---
Object.prototype.hasOwnProperty true true ---
Object.assign --- true ---
JSON.stringify --- --- ---
Reflect.ownKeys true true ---
Object.getOwnPropertySymbols --- true ---

数组遍历中各个方法的特点

  1. Array.prototype.forEach:
    1. 无法跳出循环
  2. for...in:
    1. 数组的键名是数字,但是for...in循环是以字符串作为键名“0”、“1”、“2”等等。
    2. for...in循环不仅遍历数字键名,还会遍历手动添加的其他键,甚至包括原型链上的键。
  3. for...of:
    1. 有着同for...in一样的简洁语法,但是没有for...in那些缺点。
    2. 不同于forEach方法,它可以与break、continue和return配合使用。
    3. 提供了遍历所有数据结构的统一操作接口。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。