我有一个简单的对象,如下所示:
var countries = { "Argentina":1, "Canada":2, "Egypt":1, };
我需要创建两个数组。第一个数组是对象中所有键的数组。我通过以下方式创建了此数组:
var labels = Object.keys(countries);
这很好。我得到了一些国家。现在,当我尝试从值创建数组时…
var labels = Object.values(countries);
我收到此错误: Uncaught TypeError: Object.values is not a function JavaScript
Uncaught TypeError: Object.values is not a function JavaScript
我不知道我在做什么错。我console.log countries在声明前后,labels对象仍然相同。如何正确使用Object.values()?
console.log countries
labels
Object.values()
.values在许多浏览器中不受支持-您可以.map用来获取所有值的数组:
.values
.map
var vals = Object.keys(countries).map(function(key) { return countries[key]; });
请参见MDN文档:https://developer.mozilla.org/zh- CN/docs/Web/JavaScript/Reference/Global_Objects/Object/values或官方文档:https://tc39.github.io/ecma262/#sec- object.values(感谢@evolutionxbox进行更正)