相当于Python的values()字典方法的Javascript

这个问题已经在这里有了答案:

如何获取Javascript对象的所有属性值(不知道键)?                                     21个答案

在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中字典的值?

编辑

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

我意识到我可以遍历列表并创建值的新列表,但是有更好的方法吗?

monkut asked 2020-01-02T08:00:13Z

8个解决方案

72 votes

更新

我赞成阿德南的答案,因为这是第一个答案。 如果有帮助,我只是发布更多细节。

for..in循环就是您要寻找的-

var dictionary = {

id:'value',

idNext: 'value 2'

}

for (var key in dictionary){

//key will be -> 'id'

//dictionary[key] -> 'value'

}

要获取if..else对象中的所有键,您可以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]]

Jibi Abraham answered 2020-01-02T08:00:59Z

23 votes

使用jQuery,使用$ .map()有一个相当漂亮的一行版本:

var dict = {1: 2, 3: 4};

var values = $.map(dict, function(value, key) { return value });

var keys = $.map(dict, function(value, key) { return key });

Temuz answered 2020-01-02T08:01:19Z

17 votes

Firefox 47和Chrome 51中提供了Object.values(),以下是用于其他浏览器的单行polyfill:

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

user answered 2020-01-02T08:01:39Z

10 votes

并不是要说其他任何答案都是错误的,但是如果您不反对使用外部库,underscore.js就有一种方法可以做到这一点:

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

// returns [1, 2, 3]

CatShoes answered 2020-01-02T08:01:59Z

6 votes

您可以使用for in

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){

alert(mydict[key]);

}

Adi answered 2020-01-02T08:02:19Z

3 votes

在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]);

}

xdazz answered 2020-01-02T08:02:39Z

2 votes

在Firefox当前默认支持的ES6和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)];

for现在将是预期的数组。

这对于代码高尔夫也很有用。 删除for周围的空格可将其减少到17个字符。

Scimonster answered 2020-01-02T08:03:08Z

0 votes

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

for(keys in mydict){

var elements = mydict[keys];

console.log(elements);

}

您可以通过elements数组中的索引值获取单个元素。

BeingNerd answered 2020-01-02T08:03:32Z

values在python中的意思_相当于Python的values()字典方法的Javascript相关推荐

  1. python中的命名空间_深入理解Python中的命名空间和范围

    Python中的命名空间和范围 在Python中,每个包.模块.类.函数和方法函数都拥有一个"名称空间",其中解析了变量名称.下面本篇文章就来带大家认识一下Python中的命名空间 ...

  2. python中获取文件大小_如何在Python中获取文件大小

    python中获取文件大小 We can get file size in Python using the os module. 我们可以使用os模块在Python中获取文件大小. Python中的 ...

  3. python中输入字符串_简单讲解Python中的字符串与字符串的输入输出

    简单讲解Python中的字符串与字符串的输入输出 发布于 2016-03-26 14:35:42 | 110 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向 ...

  4. python中数据类型大小_详细解析Python中的变量的数据类型

    变量是只不过保留的内存位置用来存储值.这意味着,当创建一个变量,那么它在内存中保留一些空间. 根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中.因此,通过分配不同的数据类型 ...

  5. python 中arange函数_浅谈Python中range与Numpy中arange的比较

    本文先比较range与arange的异同点,再详细介绍各自的用法,然后列举了几个简单的示例,最后对xrange进行了简单的说明. 1. range与arange的比较 (1)相同点:A.参数的可选性. ...

  6. 如何理解python中的函数_如何理解“python中函数是一等公民”?

    python.js.scala等支持函数式编程的语言中,是如何体现"函数是一等公民(first class)"的?而在c/c++.java等静态语言中的一等公民又是什么?如何体现的 ...

  7. python中自定义错误_在现代Python中声明自定义异常的正确方法?

    在现代Python中声明自定义异常类的正确方法是什么?我的主要目标是遵循其他异常类所具有的任何标准,以便(例如)由捕获异常的任何工具打印出异常中包含的任何额外字符串. 所谓"现代Python ...

  8. python中add函数_如何使用python中的add函数?

    之前向大家介绍过python中的求和函数sum函数,numpy中的sum函数,对于数组可以指定维度进行相加.numpy中还有另一种求和运算方法,即add函数.add函数不仅作用于numpy中加法运算, ...

  9. 详解python中的用法_详解python中*号的用法

    1.表示乘号 2.表示倍数,例如: def T(msg,time=1): print((msg+' ')*time) T('hi',3) 打印结果(打印3次): hi hi hi 3.单个 * (1) ...

最新文章

  1. 【Qt】Log4Qt(一)下载、编译
  2. 跨域 (3) window.name
  3. 变与不变——一汽-大众的数字化人才战略“突围”
  4. VMware Horizon虚拟桌面工具箱2.0-审计,远程协助,控制台,电源
  5. Dreamweaver MX显示汉字为乱码的解决方法
  6. shell--基本语法
  7. 机器学习论文泛读总结
  8. 小汤学编程之JavaEE学习day07——版本控制工具:SVN、GIT
  9. MongoDB:MapReduce基础及实例
  10. C - Bone Collector(背包问题)(01背包)
  11. ExtJs教程----如何改变各个区域的背景色
  12. Tomcat 弱密码爆破 漏洞复现
  13. java项目包名理解
  14. php 怎么设置cookie,php中如何设置cookie
  15. matlab中appdesigner的控件简单讲解
  16. wincap函数用法简述
  17. BeatSaber节奏光剑插件开发官方教程2-简单的插件示例
  18. Numpy提取多维数组的某行/列
  19. 微机原理与接口技术 | 一、微型计算机系统
  20. 12864点阵型液晶显示屏的基本原理与使用方法(很详细)

热门文章

  1. 什么是证充分性,证必要性?
  2. java 实现微信小程序接口
  3. python实现组合cmn公式_python %x
  4. 7.1、BMP280气压计
  5. shell编程:完成一个简单的不重复抽取且自动重新开始自动抽奖脚本
  6. Ubuntu 安装 mysql 报错 update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在
  7. 破解#34;星空极速#34;
  8. HTTP协议与WS协议小结
  9. PADS LOGIC--AD--ORCAD CAPTURE
  10. 求三位数各位数字之和