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

JavaScript中对象的增删改查

1. 增(添加属性)

let obj = {};  // 添加一个属性  
obj.name = 'John Doe';  // 或者使用方括号语法添加属性(这对于动态属性名很有用)  
let propName = 'age';  
obj[propName] = 30;  console.log(obj); // 输出: { name: 'John Doe', age: 30 }

2. 删(删除属性)

// 使用 delete 关键字删除属性  
delete obj.age;  console.log(obj); // 输出: { name: 'John Doe' }

3. 改(修改属性)

// 修改一个已存在的属性  
obj.name = 'Jane Doe';  console.log(obj); // 输出: { name: 'Jane Doe' }

4. 查(查询属性)

// 使用点符号或方括号查询属性值  
console.log(obj.name); // 输出: Jane Doe  // 使用 in 关键字检查对象是否包含某个属性  
if ('name' in obj) {  console.log('对象包含 name 属性'); // 输出: 对象包含 name 属性  
}  // 使用 hasOwnProperty 方法检查对象自身(而不是原型链)是否包含某个属性  
if (obj.hasOwnProperty('name')) {  console.log('对象自身包含 name 属性'); // 输出: 对象自身包含 name 属性  
}

遍历对象属性

在查询对象属性时,您可能还想遍历对象的所有属性。这可以通过 for...in 循环或 Object.keys()Object.values() 和 Object.entries() 方法来实现。

// 使用 for...in 循环遍历对象属性  
for (let key in obj) {  if (obj.hasOwnProperty(key)) {  console.log(key, obj[key]); // 输出: name Jane Doe  }  
}  // 使用 Object.keys() 获取属性名数组  
let keys = Object.keys(obj);  
console.log(keys); // 输出: [ 'name' ]  // 使用 Object.values() 获取属性值数组  
let values = Object.values(obj);  
console.log(values); // 输出: [ 'Jane Doe' ]  // 使用 Object.entries() 获取属性和值对的数组  
let entries = Object.entries(obj);  
console.log(entries); // 输出: [ [ 'name', 'Jane Doe' ] ]

http://www.lryc.cn/news/360338.html

相关文章:

  • 技术周总结 2024.05.27~06.02(java bean冲突 软件工程)
  • 「前端+鸿蒙」核心技术HTML5+CSS3(八)
  • 15届蓝桥杯决赛,java b组,蒟蒻赛时所写的题思路
  • 2024蓝桥杯国赛C++研究生组游记+个人题解
  • C#WPF数字大屏项目实战07--当日产量
  • MyBatis源码分析--02:SqlSession建立过程
  • SOUI Combobox 实现半透明弹出下拉框
  • Python 猜数系统 PyQt框架 有GUI界面 (源码在最后)【含Python源码 MX_002期】
  • npm install pubsub-js报错的解决汇总
  • nuxt2:自定义指令 / v-xxx / directives / 理解 / 使用方法 / DEMO
  • 基础—SQL—DCL(数据控制语言)小结
  • 一文彻底讲透 PyTorch
  • JVM常用概念之锁粗化和循环
  • HTML (总结黑马的)
  • YOLOv8 segment介绍
  • PMBOK® 第六版 项目整合管理概念
  • 【Qt】【模型视图架构】代理模型
  • Flutter 中的 IconTheme 小部件:全面指南
  • virtualbox虚拟机、centos7安装增强工具
  • Kotlin 泛型
  • Tomcat 面试题(一)
  • 跟踪一个Pytorch Module在训练过程中的内存分配情况
  • LeetCode 2965.找出缺失和重复的数字:小数据?我选择暴力(附优化方法清单:O(1)空间方法×3)
  • 【运维】VMware Workstation 虚拟机内无网络的解决办法(或许可行)
  • 如何使用Dora SDK完成Fragment流式切换和非流式切换
  • 低代码开发平台(Low-code Development Platform)的模块组成部分
  • Java网络编程(上)
  • Spring Kafka 之 @KafkaListener 注解详解
  • 【量算分析工具-贴地距离】GeoServer改造Springboot番外系列九
  • 【linux】(1)文件操作及vi