JavaScript 的 ES8 中引入了许多新特性,其中有两个非常实用的新方法:Object.values() 和 Object.entries()。这两个方法可以帮助我们更快速、更方便地处理对象的值和属性。
什么是 Object.values()?
Object.values() 是一个新方法,它可以返回一个包含对象属性值的数组。这个方法可以接收一个参数 —— 要被处理的对象。下面是这个方法的语法:
Object.values(obj)
其中,obj 是要被处理的对象。这个方法会返回一个由该对象的属性值构成的数组。
Object.values() 的例子
下面来看一个例子,说明 Object.values() 的用法:
const myObject = { name: 'John', age: 24, city: 'New York' }; const values = Object.values(myObject); console.log(values);
这个例子可以返回下面这个结果:
['John', 24, 'New York']
这意味着我们可以更方便地获取到一个对象的属性值,并将其放进一个数组里面。
什么是 Object.entries()?
Object.entries() 是另一个新方法,它可以返回一个包含对象属性键值对的数组。这个方法同样可以接收一个参数 —— 要被处理的对象。下面是这个方法的语法:
Object.entries(obj)
其中,obj 是要被处理的对象。这个方法会返回一个由该对象的所有属性键值对组成的数组。
Object.entries() 的例子
下面来看一个例子,说明 Object.entries() 的用法:
const myObject = { name: 'John', age: 24, city: 'New York' }; const entries = Object.entries(myObject); console.log(entries);
这个例子可以返回下面这个结果:
[ ['name', 'John'], ['age', 24], ['city', 'New York'] ]
这意味着我们可以更方便地将对象的属性键值对存入一个数组中。
使用 Object.values() 和 Object.entries() 改进代码
我们可以使用 Object.values() 和 Object.entries() 来改进代码,并让代码更好地工作。
下面是一个使用 Object.values() 和 Object.entries() 的例子,以验证输入对象 obj 是否包含在数组 arr 中。
-- -------------------- ---- ------- -- -- --------------- - ---------------- ---- -------- ------------------- ---- - --- ---- ----- -- ------------------- - -- --------------- ----- - ------ ----- - - --- ---- ----- ------ -- -------------------- - -- --------------- ----- - ------ ----- - ---- -- ------- --- --- -------- -- ------------ ----- - ------ ----- - - ------ ------ - -- ------ -------- ---------- -- - -- -- --- -- - ------ ----- - ---- -- ------- - --- -------- -- ------ - --- --------- - ------ ----------------- --- ------------------ - ---- - ------ ------ - - -- ---- ----- --- - - - ----- ------- ---- --- ----- ---- ----- -- - ----- ------- ---- --- ----- ---- -------- -- - ----- ------- ---- --- ----- --------- - -- ----- ---- - - ----- ------- ---- --- ----- ---- ----- -- ----- ---- - - --- -- ----- ------- ---- --- ----- ---- -------- -- ------------------------------- ------- -- ---- ------------------------------- ------- -- ---- ------------------------------- --------- -- ----
上面这个例子使用了 Object.values() 和 Object.entries() 来遍历数组和对象,并通过 isEqual() 辅助函数来比较两个值是否相等。
总结
ES8 的 Object.values() 和 Object.entries() 新特性为 JavaScript 提供了更方便的处理对象属性值和键值对的方法。这两个方法可以帮助开发者更快速、更方便地处理对象的属性,并且可以改进代码,让代码更加简洁易读。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/654494e37d4982a6ebe6d5ae