在 Python 中,我可以使用 .values()
方法迭代字典的值。
例如:
mydict = {'a': [3,5,6,43,3,6,3,],
'b': [87,65,3,45,7,8],
'c': [34,57,8,9,9,2],}
values = mydict.values():
values
包含:
[
[3,5,6,43,3,6,3,],
[87,65,3,45,7,8],
[34,57,8,9,9,2],
]
如何在 Javascript 中只获取字典的值?
我最初的打印示例并不清楚我想做什么。我只想要字典中值的列表/数组。
我意识到我可以循环遍历列表并创建一个新的值列表,但是有更好的方法吗?
已更新
我赞成阿德南的回答,因为它是第一个。如果有帮助,我会发布更多详细信息。
for..in loop 就是你要找的 -
var dictionary = {
id:'value',
idNext: 'value 2'
}
for (var key in dictionary){
//key will be -> 'id'
//dictionary[key] -> 'value'
}
要获取dictionary
对象中的所有键,可以Object.keys(dictionary)
这意味着,您可以在数组循环中做同样的事情——
var keys = Object.keys(dictionary);
keys.forEach(function(key){
console.log(key, dictionary[key]);
});
事实证明,当您想在不编写丑陋的 if..else
循环的情况下过滤键时,这特别方便。
keys.filter(function(key){
//return dictionary[key] % 2 === 0;
//return !key.match(/regex/)
// and so on
});
更新 -
要获取字典中的所有值,目前除了执行循环之外别无他法。不过,如何进行循环是一个选择问题。个人比较喜欢
var dictionary = {
a: [1,2,3, 4],
b:[5,6,7]
}
var values = Object.keys(dictionary).map(function(key){
return dictionary[key];
});
//will return [[1,2,3,4], [5,6,7]]