当前位置: 首页 > news >正文

js如何遍历对象的key和value

在JavaScript中,可以使用for…in循环来遍历对象的键(key)和值(value)。以下是一个示例:

let obj = {  key1: 'value1',  key2: 'value2',  key3: 'value3'  
};  for (let key in obj) {  if (obj.hasOwnProperty(key)) {  // 确保键在对象自身上,而不是从原型链继承  console.log(`Key: ${key}, Value: ${obj[key]}`);  }  
}

在这个例子中,for…in循环会遍历对象obj的所有键。然后,hasOwnProperty函数会检查这个键是否是对象obj自身的一个属性,而不是从其原型链继承的。如果是对象自己的属性,就输出这个键和对应的值。

另一种方法是通过使用Object.keys()、Object.values()和Object.entries()。

  • Object.keys(obj) 会返回一个表示对象自身可枚举属性的字符串数组。
  • Object.values(obj) 会返回一个表示对象自身所有可枚举属性的值的数组

  • Object.entries(obj) 会返回一个表示对象自身的键值对数组。

以下是使用这些方法的示例:

let obj = {  key1: 'value1',  key2: 'value2',  key3: 'value3'  
};  // 使用 Object.keys() 和 Object.values()  
Object.keys(obj).forEach(key => console.log(`Key: ${key}, Value: ${obj[key]}`));  
Object.values(obj).forEach(value => console.log(`Value: ${value}`));  // 使用 Object.entries()  
Object.entries(obj).forEach(([key, value]) => console.log(`Key: ${key}, Value: ${value}`));
http://www.lryc.cn/news/153794.html

相关文章:

  • 官方发布:Mac 版 Visual Studio IDE将于明年 8 月 31 日停止支持
  • 如何使用CSS实现一个带有动画效果的折叠面板(Accordion)?
  • HarmonyOS开发:探索动态共享包的依赖与使用
  • 【力扣】45.跳跃游戏 II <贪心>
  • J. Med. Chem 2022|TocoDecoy+: 针对机器学习打分函数训练和测试的无隐藏偏差的数据集构建新方法
  • .net core 上传文件大小限制
  • Windows安装单节点Zookeeper
  • C++ gendrate Gauss noise
  • centos环境下idea开发问题集锦
  • C++-list实现相关细节和问题
  • hadoop学习:mapreduce的wordcount时候,继承mapper没有对应的mapreduce的包
  • windows10上搭建caffe以及踩到的坑
  • 大数据Flink(七十):SQL 动态表 连续查询
  • 「MySQL-04」Linux环境下使用C/C++连接并操纵MySQL
  • 【力扣】两数相除(c/c++)
  • 《Kubernetes部署篇:Ubuntu20.04基于二进制安装安装kubeadm、kubelet和kubectl》
  • go学习part21 Redis
  • 时序预测 | MATLAB实现基于PSO-BiGRU、BiGRU时间序列预测对比
  • Unity3D下如何采集camera场景数据并推送RTMP服务?
  • 黑客可利用 Windows 容器隔离框架绕过端点安全系统
  • STM32注入通道
  • WebVR — 网络虚拟现实
  • ASP.NET Core 的 Routing
  • IBM Spectrum LSF Explorer 为要求苛刻的分布式和任务关键型高性能技术计算环境提供强大的工作负载管理
  • RHCE——十一、NFS服务器
  • Python编程练习与解答 练习100:随机密码
  • 华为云云服务器评测 | 从零开始:云耀云服务器L实例的全面使用解析指南
  • 欧科云链研究院探析Facebook稳定币发行经历会不会在PayPal重演
  • docker 容器pip、git安装异常;容器内web对外端口ping不通
  • SpringBoot Mybatis 多数据源 MySQL+Oracle+Redis