在本教程中,您将学习如何使用 JavaScript Object.values() 方法访问对象自身的可枚举属性。

在 ES2017 之前,您可以使用 for...in 循环和 Object.hasOwnProperty() 方法来访问对象自身的可枚举属性的值。例如:

const person = {
    firstName: 'John',
    lastName: 'Doe',
    age: 25
};

for (const key in person) {
    if (person.hasOwnProperty(key)) {
        const value = person[key];
        console.log(value);

    }
}

输出:

John
Doe
25

ES2017 引入新方法 Object.values() ,它允许您返回对象自身可枚举属性值的数组

下面展示了 Object.values() 方法的使用语法:

Object.values(obj) 

Object.values() 接受一个对象并将它自己的可枚举属性的值作为数组返回。请参阅以下示例:

const person = {
    firstName: 'John',
    lastName: 'Doe',
    age: 25
};

const profile = Object.values(person);

console.log(profile);

输出:

[ 'John', 'Doe', 25 ]

Object.values() 与 for...in

for...in 循环不只是迭代对象自身可枚举属性,还包括原型链的可枚举属性,而Object.values()  返回自己的可枚举属性。

从技术上讲,如果您将 for...in 循环与 Object.hasOwnProperty() 方法一起使用,您将获得与 Object.values() 一样的效果。