📌  相关文章
📜  如何获取 JavaScript 对象的所有属性值(不知道键)?(1)

📅  最后修改于: 2023-12-03 14:53:15.452000             🧑  作者: Mango

如何获取 JavaScript 对象的所有属性值(不知道键)?

在 JavaScript 中,我们经常需要遍历对象并获取其属性值。通常情况下,我们可以使用 for...in 循环来实现遍历。但是该方法只能获取对象的键,如果我们想获取对象的所有属性值,却不知道具体的键名,该怎么实现呢?

下面提供了两种获取 JavaScript 对象所有属性值的方法。

方法一:Object.values() 方法

Object.values() 方法返回一个对象所有可枚举属性的值,存储在一个数组中。我们可以使用该方法来获取 JavaScript 对象所有属性值。

const obj = {
  a: 1,
  b: 2,
  c: 3
};

const values = Object.values(obj);

console.log(values); // [1, 2, 3]

以上代码中,我们定义了一个对象 obj,包含了三个属性:abc。然后调用 Object.values() 方法,将返回一个由对象所有可枚举属性的值组成的数组,即 [1, 2, 3]

需要注意的是,Object.values() 方法是从 ECMAScript 2017 引入的,如果您的浏览器不支持该方法,请尝试使用 Polyfill 来实现。

方法二:for...of 循环配合 Object.keys() 方法

如果 Object.values() 方法不可用,请使用 for...of 循环与 Object.keys() 来获取 JavaScript 对象所有属性值。Object.keys() 方法返回一个对象所有可枚举属性的键,存储在一个数组中。我们可以使用该方法获取对象所有可枚举属性的键,然后使用 for...of 循环遍历该数组,并通过键名获取对象的属性值。

const obj = {
  a: 1,
  b: 2,
  c: 3
};

const keys = Object.keys(obj);
const values = [];

for (const key of keys) {
  values.push(obj[key]);
}

console.log(values); // [1, 2, 3]

以上代码中,我们使用 Object.keys() 方法获取对象 obj 所有可枚举属性的键,存储在 keys 数组中。然后,我们使用 for...of 循环遍历该数组,并通过键名获取对象的属性值,存储在 values 数组中。最终,我们将 values 数组打印至控制台,得到 [1, 2, 3]

需要注意的是,for...of 循环与 Object.keys() 方法均为 ECMAScript 2015 引入的,如果您的浏览器不支持该特性,请尝试使用 Polyfill 来实现。

总结

以上介绍了两种获取 JavaScript 对象所有属性值的方法。无论您是使用 Object.values() 方法还是 for...of 循环配合 Object.keys() 方法,都可以轻松地实现该功能。请根据具体情况选择适合您的方法。