Javascript 与Python';s values()字典方法

Javascript 与Python';s values()字典方法,javascript,Javascript,在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(): 其中,值包含: [ [3,5,6,43,3,6,3,], [87,65,3,45,7,8], [34,57,8,9,9,2], ] 如何在Java

在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():
其中,
包含:

[
    [3,5,6,43,3,6,3,],
    [87,65,3,45,7,8],
    [34,57,8,9,9,2],
]
如何在Javascript中仅获取字典的值

我最初的打印示例不清楚我想做什么。我只想要字典中的值列表/数组

我意识到我可以循环浏览列表并创建一个新的值列表,但是有更好的方法吗?

您可以使用


在javascript中,使用
for..In
循环对象的属性

var mydict = {
    'a': [3,5,6,43,3,6,3,],
    'b': [87,65,3,45,7,8],
    'c': [34,57,8,9,9,2]
 };

for (var key in mydict) {
  console.log(mydict[key]);
}

更新
我对阿德南的回答投了赞成票,因为这是第一个。如果有帮助的话,我只是发布更多的细节

循环就是你要找的-

var dictionary = {
    id:'value',
    idNext: 'value 2'
}

for (var key in dictionary){
    //key will be -> 'id'
    //dictionary[key] -> 'value'
}
要获取
字典
对象中的所有键,可以
对象.键(字典)

这意味着,您可以在数组循环中执行相同的操作--

当您想在不编写丑陋的
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]]

有了jQuery,就有了一个使用$.map()的漂亮的单行版本:


如果只想获取值,请使用以下代码:

 for(keys in mydict){
   var elements = mydict[keys];
   console.log(elements);
 }
您可以通过元素数组中的索引值获取单个元素。

在Firefox 47和Chrome 51中提供,以下是适用于其他浏览器的单行多边形填充:

Object.values = Object.values || function(o){return Object.keys(o).map(function(k){return o[k]})};

不要试图说任何其他答案都是错误的,但如果您不反对使用外部库,有一种方法可以精确地做到这一点:

_.values({one: 1, two: 2, three: 3});
// returns [1, 2, 3]

在目前Firefox默认支持且Chrome中带有标志的ES6中,您可以执行以下操作:

a = {'a': [3,5,6,43,3,6,3,],
      'b': [87,65,3,45,7,8],
      'c': [34,57,8,9,9,2]}
values = [a[x] for (x in a)];
值现在将是预期的数组


这对其他人也很有用。删除
周围的空格将其减少到17个字符。

console.log()
我每次都会忘记它,+1pvoting不是关于谁是第一个。如果答案是有用的,那么它就是愤怒的向上投票,就像你的xdazz'sObject.keys(dictionary.map)在jQuery中可以变得更漂亮!看看@Temuz,@mac9416哦,天哪,你真的展示了2013年的评论谁是老板@ogurets的人太咸了。@Oriol我不同意这个结论。这个函数专门询问返回数组的问题。当然,并不是所有的答案都能正确地说明这一点。另一个问题希望从循环中访问它。我认为这一点可以从一个事实中看出,这个事实适用于这个问题,而不是目标。另一个问题中的怪物完美地回答了这个问题。它甚至包括了你对这个问题的不同回答。如果你不同意,你可以投票重新开放。这是最优雅的解决方案
Object.values = Object.values || function(o){return Object.keys(o).map(function(k){return o[k]})};
_.values({one: 1, two: 2, three: 3});
// returns [1, 2, 3]
a = {'a': [3,5,6,43,3,6,3,],
      'b': [87,65,3,45,7,8],
      'c': [34,57,8,9,9,2]}
values = [a[x] for (x in a)];