在前端开发中,我们经常需要对对象进行操作。ECMAScript 2018 引入了三个新的方法,即 Object.values、Object.keys 和 Object.entries,可以帮助我们更方便地操作对象。本文将详细介绍这三个方法的用法,并提供示例代码。
Object.values
Object.values 方法返回一个对象所有可枚举属性的值组成的数组。示例代码如下:
const obj = { a: 1, b: 2, c: 3 }; const values = Object.values(obj); console.log(values); // [1, 2, 3]
Object.values 方法可以方便地遍历对象的值,比如可以用来计算对象的总和:
const obj = { a: 1, b: 2, c: 3 }; const sum = Object.values(obj).reduce((acc, val) => acc + val, 0); console.log(sum); // 6
Object.keys
Object.keys 方法返回一个对象所有可枚举属性的键名组成的数组。示例代码如下:
const obj = { a: 1, b: 2, c: 3 }; const keys = Object.keys(obj); console.log(keys); // ['a', 'b', 'c']
Object.keys 方法可以方便地遍历对象的键名,比如可以用来判断对象是否为空:
const obj = {}; const isEmpty = Object.keys(obj).length === 0; console.log(isEmpty); // true
Object.entries
Object.entries 方法返回一个对象所有可枚举属性的键值对组成的数组。示例代码如下:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); console.log(entries); // [['a', 1], ['b', 2], ['c', 3]]
Object.entries 方法可以方便地遍历对象的键值对,比如可以用来转换对象为 Map:
const obj = { a: 1, b: 2, c: 3 }; const map = new Map(Object.entries(obj)); console.log(map); // Map { 'a' => 1, 'b' => 2, 'c' => 3 }
总结
Object.values、Object.keys 和 Object.entries 是 ECMAScript 2018 中新增的三个方法,可以帮助我们更方便地操作对象。Object.values 方法返回一个对象所有可枚举属性的值组成的数组,Object.keys 方法返回一个对象所有可枚举属性的键名组成的数组,Object.entries 方法返回一个对象所有可枚举属性的键值对组成的数组。我们可以利用这三个方法来遍历对象、计算对象的总和、判断对象是否为空、转换对象为 Map 等等。这些方法的使用可以让我们的代码更简洁、更易读,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6512cb9495b1f8cacdb4bde9