在 ES2018 中,Object.entries() 和 Object.values() 被引入,作为 Object 对象的两个新方法。它们提供了更方便快捷的方式来获取对象的键值对和值数组,拓展了对象操作的能力。
Object.entries()
Object.entries() 方法返回一个包含对象自身可枚举属性的键值对数组,其顺序与 for...in 循环遍历的顺序一致(区别在于for...in 循环不仅能遍历对象自身属性,而且能遍历继承自原型链中的属性)。
语法如下:
-------------------
其中 obj 为对象,返回一个数组,数组中每一项均为一个包含键值对的数组。
下面是一个实际用途的例子,展示如何解决循环中使用 delete 关键字问题:
--- --- - - ----------- ------- ---------- ------ ---- -- -- --- ---- ----- ------ -- -------------------- - -------------------- ----------- -- ---- --- ------ - ------ --------- - - ----------------- -- - ----------- ------- ---------- ----- -
Object.values()
Object.values() 方法与 Object.entries() 方法的语法相似,只是它返回的是一个包含对象自身可枚举属性的值数组。
------------------
下面是一个根据对象属性值来查找对象具体属性的例子,演示了 Object.values() 的使用方法:
--- --- - - -- ---- -- ---- -- --- -- --- --- - ---- --- --- - ------------------------- -- -------- --- ----- ----------------- -- ---
总结
Object.entries() 和 Object.values() 这两个方法的加入使操作对象更加便捷。以前是要遍历整个对象,才能完成类似的操作,而现在不但代码简洁、可读性更强,而且使用起来非常方便。特别是在需要删除对象属性或者查找对象属性值的情况下,使用这两个方法会更具优势。与其他语言的方法相比,这两个方法的功能是非常完整的,使用频率非常高。
总的来说,Object.entries() 和 Object.values() 方法的加入,拓展了 JavaScript 的语言能力,使得开发者能够以更高效、更方便的方式操作对象,减少不必要的代码,提升开发效率。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/65b8ab80add4f0e0ff13fd07