在 ECMAScript 2018 中,我们可以使用 Object.values() 和 Object.entries() 方法来获取对象的属性值和键值对。这两个方法都是 Object 对象的静态方法,可以方便地对对象进行遍历和操作。
Object.values() 方法
Object.values() 方法返回一个包含对象自身属性值的数组。
语法
Object.values(obj)
参数
- obj:要返回属性值的对象。
返回值
一个数组,包含对象自身属性值的列表。
示例
const obj = { a: 1, b: 2, c: 3 }; const values = Object.values(obj); console.log(values); // [1, 2, 3]
Object.entries() 方法
Object.entries() 方法返回一个包含对象自身属性键值对的数组。
语法
Object.entries(obj)
参数
- obj:要返回属性键值对的对象。
返回值
一个数组,包含对象自身属性键值对的列表。
示例
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); console.log(entries); // [['a', 1], ['b', 2], ['c', 3]]
使用 Object.values() 和 Object.entries() 方法
使用 Object.values() 和 Object.entries() 方法可以方便地对对象进行遍历和操作。下面是一个示例,我们可以使用这两个方法来实现一个简单的对象过滤器。
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); const filtered = entries.filter(([key, value]) => value > 1); const result = Object.fromEntries(filtered); console.log(result); // { b: 2, c: 3 }
在上面的示例中,我们首先使用 Object.entries() 方法将对象转换为数组,然后使用数组的 filter() 方法来过滤出值大于 1 的键值对,最后使用 Object.fromEntries() 方法将过滤后的数组转换为对象。
总结
Object.values() 和 Object.entries() 方法是 ECMAScript 2018 中新增的对象方法,它们可以方便地对对象进行遍历和操作。使用这两个方法可以让我们更加方便地处理对象数据,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65cb4478add4f0e0ff4ff8bc