Object.values()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Object.values()
静态方法返回一个给定对象的自有可枚举字符串键属性值组成的数组。
尝试一下
语法
js
Object.values(obj)
参数
obj
-
一个对象。
返回值
一个包含了给定对象的自有可枚举字符串键属性值的数组。
描述
Object.values()
返回一个数组,其元素是直接在 object
上找到的可枚举字符串键属性值。这与使用 for...in
循环迭代相同,只是 for...in
循环还枚举原型链中的属性。Object.values()
返回的数组顺序和 for...in
循环提供的数组顺序相同。
如果需要属性键,请使用 Object.keys()
。如果属性的键和值都需要,请使用 Object.entries()
。
示例
使用 Object.values()
js
const obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]
// 类数组对象
const arrayLikeObj1 = { 0: "a", 1: "b", 2: "c" };
console.log(Object.values(arrayLikeObj1)); // ['a', 'b', 'c']
// 具有随机键排序的类数组对象
// 使用数字键时,将按键的数字顺序返回值
const arrayLikeObj2 = { 100: "a", 2: "b", 7: "c" };
console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a']
// getFoo 是一个不可枚举的属性
const myObj = Object.create(
{},
{
getFoo: {
value() {
return this.foo;
},
},
},
);
myObj.foo = "bar";
console.log(Object.values(myObj)); // ['bar']
在基本类型中使用 Object.values()
规范
Specification |
---|
ECMAScript Language Specification # sec-object.values |
浏览器兼容性
BCD tables only load in the browser