20、ES6 属性的遍历 一共有 5 种方法可以遍历对象的属性

来源:互联网 发布:苹果手机抹除数据 编辑:程序博客网 时间:2024/06/05 17:44

属性的遍历

ES6 一共有 5 种方法可以遍历对象的属性。

(1)for...in

for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性)。

(2)Object.keys(obj)

Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。

(3)Object.getOwnPropertyNames(obj)

Object.getOwnPropertyNames返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可枚举属性)的键名。

(4)Object.getOwnPropertySymbols(obj)

Object.getOwnPropertySymbols返回一个数组,包含对象自身的所有 Symbol 属性的键名。

(5)Reflect.ownKeys(obj)

Reflect.ownKeys返回一个数组,包含对象自身的所有键名,不管键名是 Symbol 或字符串,也不管是否可枚举。

以上的 5 种方法遍历对象的键名,都遵守同样的属性遍历的次序规则。

  • 首先遍历所有数值键,按照数值升序排列。
  • 其次遍历所有字符串键,按照加入时间升序排列。
  • 最后遍历所有 Symbol 键,按照加入时间升序排列。

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

上面代码中,Reflect.ownKeys方法返回一个数组,包含了参数对象的所有属性。这个数组的属性次序是这样的,首先是数值属性210,其次是字符串属性ba,最后是 Symbol 属性。



阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 火线是正极还是负极 红表笔接正极还是负极 正负零无线吸尘器 正负零吸尘器 正踢腿的正确做法图片 跆拳道踢腿动作图片 辛烯基琥珀酸淀粉钠 正辛烷 二正辛胺 二异辛胺 辛菌胺多少钱一瓶 职连招聘 道行 002157正邦科技 正邦集团为什么不能长期干 四维正邦 江西正邦集团 江西正邦 正邦集团工资一般多少 正邦科技怎么样 002157正邦科技股票 正邦猪饲料价格 正邦集团招聘信息 正邦科技股价 邦正科技股份有限公司 吉林正邦集团 正邦饲料排名第几 正邦科技吧 乡村野夫 正红花油价格 依马打正红花油说明书 正红花油的功效与作用 正红花油哪个牌子好 依马打正红花油怎么样 宽庐正岩茶价格表 正岩肉桂是什么茶 正岩肉桂的价格 正岩肉桂一斤多少钱 霞石正长岩 正长石 赵正阳