一尘不染

未捕获的TypeError:Object.values不是JavaScript函数

node.js

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

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

我不知道我在做什么错。我console.log countries在声明前后,labels对象仍然相同。如何正确使用Object.values()


阅读 299

收藏
2020-07-07

共1个答案

一尘不染

.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进行更正)

2020-07-07