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]