MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

这篇翻译不完整。请帮忙从英语翻译这篇文章

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

该特性目前仍处于 ECMAScript 7 规范提案中
目前的实现在未来可能会发生改变,甚至被完全删除,请谨慎使用。

Object.values() 方法返回一个给定对象自己的所有可枚举属性值的数组,值的顺序使用for...in循环的顺序相同 ( 区别在于for-in循环枚举原型链中的属性 )。

语法

Object.values(obj)

参数

obj
被返回可枚举属性值的对象。

描述

Object.values() 方法返回的数组元素的值和单独访问对象属性的值是一样的。数组元素的值在数组的顺序,和使用 for-in 循环遍历的结果一样。

示例

var obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]

// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.values(obj)); // ['a', 'b', 'c']

// array like object with random key ordering
var an_obj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.values(an_obj)); // ['b', 'c', 'a']

// getFoo is property which isn't enumerable
var my_obj = Object.create({}, { getFoo: { value: function() { return this.foo; } } });
my_obj.foo = "bar";
console.log(Object.values(my_obj)); // ['bar']

// non-object argument will be coerced to an object
console.log(Object.values("foo")); // ['f', 'o', 'o']

Polyfill 

为了使不支持  Object.values() 方法的旧环境兼容 Object.values(),可在 tc39/proposal-object-values-entries 或 shims/Object.values 中找到兼容旧浏览器的方案

规范

Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
Object.values
Draft Not included in the official draft yet. See this stage3 proposal for the current specification draft text.

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 未实现 Nightly build 未实现 未实现 未实现 [1]
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 未实现 未实现 Nightly build 未实现 未实现 未实现

[1] See bug 150131.

相关链接

文档标签和贡献者

 此页面的贡献者: xgqfrms-GitHub, Hushabyme, webery
 最后编辑者: xgqfrms-GitHub,