在前端开发中,我们经常需要遍历对象的属性,获取它们的值。ES7 中的 Object.values()
方法可以帮助我们快速获取对象的属性值,而不必手动遍历对象的属性。
Object.values() 方法介绍
Object.values()
方法是 ES7 中新增的一个静态方法,它返回一个给定对象自身的所有可枚举属性值的数组,数组中属性值的顺序与使用 for...in
循环遍历对象属性时的顺序一致。
Object.values()
方法的语法如下:
Object.values(obj)
其中,obj
是要获取属性值的对象。返回值是一个由对象的属性值组成的数组。
使用 Object.values() 方法打印出对象键的列表
我们可以使用 Object.values()
方法获取对象的属性值,并通过 Array.forEach()
方法遍历数组,打印出每个属性值对应的键名。
下面是一个示例代码:
const obj = { a: 1, b: 2, c: 3 }; Object.values(obj).forEach(value => { const key = Object.keys(obj).find(key => obj[key] === value); console.log(key); });
在这个示例中,我们先定义了一个包含三个属性的对象 obj
。然后,我们使用 Object.values(obj)
方法获取对象的属性值,并通过 forEach()
方法遍历数组。
在 forEach()
方法的回调函数中,我们使用 Object.keys(obj)
方法获取对象的所有键名,并通过 find()
方法找到与当前属性值相等的键名。最后,我们使用 console.log()
方法打印出每个键名。
在控制台中运行上述代码,输出结果如下:
a b c
总结
使用 ES7 中的 Object.values()
方法可以快速获取对象的属性值,避免手动遍历对象的属性。在实际开发中,我们可以结合其他方法,如 Array.forEach()
方法,对对象的属性值进行处理。
值得注意的是,Object.values()
方法只能获取对象自身的可枚举属性值,不能获取其原型链上的属性值。如果需要获取原型链上的属性值,可以使用 for...in
循环遍历对象属性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/657eff45d2f5e1655d9dfe26