在 ES7 中,新加入了 Object.values 和 Object.entries 两个方法,用于获取对象的属性值和键值对。这两个方法都是非常实用的,可以帮助我们更方便地处理对象数据。本文将详细介绍这两个方法的使用方法和指导意义。
Object.values 方法的使用
Object.values 方法用于获取对象的所有属性值,返回一个由属性值组成的数组。
const obj = { name: '张三', age: 18, gender: '男' } const values = Object.values(obj) console.log(values) // ['张三', 18, '男']
可以看到,我们传入一个对象,Object.values 返回了一个由对象属性值组成的数组。
Object.entries 方法的使用
与 Object.values 不同,Object.entries 方法返回的是一个由键值对组成的数组。
const obj = { name: '张三', age: 18, gender: '男' } const entries = Object.entries(obj) console.log(entries) // [['name', '张三'], ['age', 18], ['gender', '男']]
可以看到,Object.entries 返回了一个由键值对组成的数组,每个键值对都是一个数组,第一个元素是键名,第二个元素是键值。
Object.values/Object.entries 方法的指导意义
Object.values 和 Object.entries 方法可以帮助我们更方便地处理对象数据,特别是在需要遍历对象属性时非常有用。比如,我们可以使用 Object.entries 方法来遍历对象属性,获取对象属性名和属性值:
-- -------------------- ---- ------- ----- --- - - ----- ----- ---- --- ------- --- - ---------------------------------- ------- -- - -------------------- ---------- -- -- ----- -- -- ---- -- -- ------- -
可以看到,我们使用了 Object.entries 方法来获取对象的键值对数组,然后使用 forEach 方法遍历该数组,获取每个键值对的键名和键值,最终输出了对象的所有属性。
另外,我们也可以使用 Object.values 方法来获取对象的属性值数组,然后使用 reduce 方法来对属性值进行处理:
const obj = { name: '张三', age: 18, gender: '男' } const totalAge = Object.values(obj).reduce((total, age) => total + age) console.log(totalAge) // 18
可以看到,我们使用 Object.values 方法来获取对象的属性值数组,然后使用 reduce 方法对属性值进行累加,最终输出了对象的年龄总和。
总结
Object.values 和 Object.entries 方法是 ES7 中非常实用的两个方法,它们可以帮助我们更方便地处理对象数据。在实际开发中,我们可以灵活运用这两个方法,提高代码的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66063762d10417a22243b721