这篇翻译不完整。请帮忙从英语翻译这篇文章。
该特性目前仍处于 ECMAScript 7 规范提案中
目前的实现在未来可能会发生改变,甚至被完全删除,请谨慎使用。
Object.values()返回一个包含指定对象所有的可枚举属性值的数组,数组中的值顺序和使用
for...in
循环遍历的顺序一样(不同的是:for-in循环同时返回了该对象原型链上的可枚举属性值,而Object.values()不包括
)。
Syntax 语法
Object.values(obj)
Parameters 参数
obj
- 被返回可枚举属性值的对象。
Description 描述
Object.values()返回的数组元素的值和单独访问对象属性的值是一样的。数组元素的值在数组的顺序,和使用for-in循环遍历的一样。
Examples 例子
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中找垫片库。
Specifications 规范
Specification | Status | Comment |
---|---|---|
ECMAScript 2016 Draft (7th Edition, ECMA-262) Object.values |
Draft | Not included in the official draft yet. See this stage3 proposal for the current specification draft text. |
Browser compatibility 浏览器兼容
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.