对象的遍历方法

文章目录

  • 对象的遍历

对象的遍历

方法 描述 遍历不可枚举属性 遍历继承属性 遍历Symbol属性
Object.keys(obj)
Object.values(obj)
Object.entries(obj)
返回给定对象的自身可枚举属性组成的数组 × × ×
for-in 遍历对象的属性,包括原型链上的可枚举属性 × ×
Object.getOwnPropertyNames() 返回对象的自身属性的属性名,包括不可枚举属性 × ×
Object.getOwnPropertySymbols() 只获取对象的Symbol类型的键名 × ×
Reflect.ownKeys(obj) 获取对象的键值,包含不可迭代的key和symbol类型的key ×
  • Object.keys() = for in + Object.hasOwnProperty()
  • Reflect.ownKeys() = Object.getOwnPropertyNames() + Object.getOwnPropertySymbols()
let data = { name: 'tim', age: 18, [Symbol()]: 123 };
console.log(Object.keys(data)); // [ 'name', 'age' ]
console.log(Object.values(data)); // [ 'tim', 18 ]
console.log(Object.entries(data)); // [ [ 'name', 'tim' ], [ 'age', 18 ] ]

对象遍历的次序规则
1.遍历所有数值键,按照数值升序排列。
2.遍历所有字符串键,按照加入时间升序排列。
3.遍历所有 Symbol 键,按照加入时间升序排列。

Reflect.ownKeys({ [Symbol()]:0, b: 0, 10: 0, 2: 0, a:0 })
// ['2', '10', 'b', 'a', Symbol()]

你可能感兴趣的:(javascript,前端,开发语言)