话不多说此篇阐述js对象遍历的常见方法以及遍历规则
1.常见遍历方法
方法 | 说明 | 结果 |
for...in | 常规遍历得到key值,遍历自身及继承的可枚举属性 | String |
Object.keys(obj); | 遍历返回由key组成的数组,自身可枚举属性键名 | [key1,key2,...] |
Object.values(obj); | 遍历返回由value组成的数组 | [val1,val2,...] |
Object.entries(obj); | 遍历返回由[key,value]组成的数组 | [[key1,val1],[key2,val2],...] |
Object.getOwnPropertyNames(obj); | 包含自身所有属性键名,Symbol不含 | [key1,key2,...] |
Object.getOwnPropertySymols(obj); | 返回所有symbol属性键名 | [symbol1,symbol2,...] |
Reflect.ownKeys(obj); | 返回所有键名,包括不可枚举,symbol等 | [key,symbol,...] |
具体解释可以参考阮一峰老师的教程
2.遍历规则
由于对象不像数组那样是连续的存储,因此遍历对象需要按照一定的规则来遍历
也就是说同样的对象key:val值因为顺序的不同遍历的结果可能是相同的
规则如下:
1. 遍历所有数值键,按照数值升序排列
2. 其次遍历所有字符串键,按照加入时间升序排列
3. 最后遍历所有Symbol键,按照加入时间升序排列
以上是对象常见的遍历方法即对象的遍历的规则
转载请标明出处:JS对象遍历
文章来源: JS对象遍历