在 javascript 中循环遍历字典

news/2024/5/18 16:09:04 标签: javascript, udp, 开发语言

JavaScript 对象非常灵活,可用于创建键值对。 这些对象的工作方式类似于 Python 字典。

字典和对象之所以被广泛使用,是因为每个存储的值都有其唯一的键(类似于 JavaScript 数组),并且可以通过那些键访问那些值。 这允许在读取和存储数据时具有出色的灵活性。

今天的文章将教我们如何在 JavaScript 中迭代对象或字典来提取键值对。


使用 Object.entries() 在 JavaScript 中循环遍历字典

我们可以使用 Object.entries() 方法返回给定对象的 [key, value] 对字符串键可枚举属性的数组。

这类似于使用 for…in 循环进行迭代。 然而,这个循环枚举了原型链中的属性。

它返回的数组顺序与 for…in 循环返回的顺序相同。 JavaScript 中的可枚举属性意味着当使用 for…in 循环或 Object.keys() 方法迭代时属性是可见的。

默认情况下,由简单赋值或属性初始值设定项创建的所有属性都是可枚举的。

语法:

javascript">Object.entries(obj)

Object.entries 方法接受一个对象作为参数,一个必需的参数。

让我们以员工对象为例。 此对象包含基本的员工详细信息。

当你遍历一个员工对象时,它会打印出它所有的可枚举属性。

javascript">const object = {
    employeeName: "John Doe",
    employeeId: 27,
    salary: {
        "2018 - 19": "400000INR",
        "2019 - 20": "500000INR",
        "2020 - 21": "650000INR"
    },
}

Object.defineProperty(student, 'address', {
    value: "India",
    configurable: true,
    writable: false,
    enumerable: false,
});

for (const [key, value] of Object.entries(object)) {
    console.log(key, value);
}

我们在上面的例子中添加了新的 address 属性,但是它的可枚举类型被设置为 false。 由于 Object.entries() 方法仅遍历可枚举属性,因此不会打印地址属性。

尝试在任何浏览器中运行上面的示例。 您将看到以下结果。

输出:

javascript">"employeeName", "John Doe"
"employeeId", 27
"salary", {
  2018-19: "400000INR",
  2019-20: "500000INR",
  2020-21: "650000INR"
}

http://www.niftyadmin.cn/n/1004590.html

相关文章

Electron中启动node服务

记一次遇到的问题,我们知道Electron 中主进程是在node环境中,所以打算在node环境中再启动一个node服务。但是直接使用exec命令启动就会卡主。对应的代码如下 // 启动Node server const startServer async () > {try {console.log(开始启动node serv…

元宇宙装备展正式拉开帷幕,深眸科技CEO周礼出席产业论坛发表主题演讲

6月27日,一场令人期待已久的工业元宇宙盛会在昆山国际会展中心拉开帷幕,大会由昆山市人民政府主办,昆山市工业和信息化局、赛迪工业和信息化研究院集团(苏州)有限公司联合承办,并得到了十数家单位的支持&am…

Hive多行转多列,多列转多行

hive中的行列转换包含单行、多行、单列、多列,所以一共有四种组和转换结果。 一、多行转多列 原始数据表 目标结果表 分析:目标表中的a和b是用分组形成,所以groupby字段选用原始表中col1,c、d、e是原始表中的行值,…

Springboot链接Redis实现AOP防止重复提交

目录 安装redis Springboot链接Redis 1.创建springboot项目 如果spring boot启动报Error creating bean with name redisUtil/redisTemplate 2.新建application.yml配置 3.redis配置类-直接用 4.redis工具类-直接用 5.写Controller测试 6.启动、测试 整合AOP&#xff…

正则表达式回溯引发的生产惨案

文章目录 背景问题原因分析如何解决?chatgpt 3.5GP4的表现未完待续 背景 业务上的一个字段在解析时为了避免脏数据导致后续ETL的异常,决定从源头将该字段严格按照设计的规则去匹配。该字段的上传是设备端传上来的文件中的一个字段。 正向?反…

C#核心知识回顾——5.结构体和类区别、抽象类和接口、核心知识图解

1.结构体和类区别 结构体和类最大的区别是在存储空间上的,因为结构体是值,类是引用,因此他们的存储位置一个在栈上,一个在堆上。 结构体和类在使用上很类似,结构体甚至可以用面向对象的思想来形容一类对象。 结…

附件1.服务器操作系统安全加固要求及配置建议【上】

文章目录 加固文件说明【重启auditd服务后/etc/audit/audit.rules文件内容消失怎么处理】【用户的的本地登录和远程登录默认都会被审计; 2,可配置对chown、chmod、chcon等命令的执行进行审计;【ssh会话默认会被审计;】【可添加审计…

Linux下的free、uname、uptime、netstat、dmesg指令

文章目录 1 查看内存的使用情况:free2 查看系统与内核相关信息:uname3 查看系统运行时间和负载(uptime)4 查看端口监听:netstat5 分析内核产生的信息:dmesg6 总结 1 查看内存的使用情况:free f…