Uncaught TypeError:Object.values不是一个JavaScript函数

我有一个简单的对象,如下所示:

var countries = { "Argentina":1, "Canada":2, "Egypt":1, }; 

我需要创build两个数组。 第一个数组是来自对象的所有键的数组。 我创build这个数组:

 var labels = Object.keys(countries); 

这很好。 我获得了一系列的国家。 现在,当我尝试从值中创build一个数组…

 var labels = Object.values(countries); 

我得到这个错误: Uncaught TypeError: Object.values is not a function JavaScript

我不知道我做错了什么。 我在console.log countries之前,我宣布labels之后和对象保持不变。 我如何正确使用Object.values()

.values在许多浏览器中不受支持 – 您可以使用.map来获取所有值的数组:

 var vals = Object.keys(countries).map(function(key) { return countries[key]; }); 

请参阅MDN文档: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values或官方文档: https : //tc39.github.io/ecma262/#sec- object.values (谢谢@evolutionxbox更正)

看起来像这个问题是在safari最新版本修复。 我来到同一个问题。 此问题发生在浏览器版本9.0.1中,不会发生在10.1.1中

编辑添加附件;

 [snippet][1] [object value][2] [browser version][3]