javaScript删除对象属性总结方法

在JavaScript中,可以使用以下几种方法来删除对象的属性:

1、使用delete关键字
  • 使用delete关键字可以从对象中删除指定的属性。示例代码如下:
var obj = {name: "John",age: 30,city: "New York"
};console.log(obj); // { name: "John", age: 30, city: "New York" }delete obj.age;console.log(obj); // { name: "John", city: "New York" }
2、直接赋值为undefined:
  • 可以将属性的值直接赋值为undefined来删除属性。示例代码如下:
var obj = {name: "John",age: 30,city: "New York"
};console.log(obj); // { name: "John", age: 30, city: "New York" }obj.age = undefined;console.log(obj); // { name: "John", age: undefined, city: "New York" }

需要注意的是,通过赋值为undefined删除属性只是将属性的值置为undefined,并没有真正从对象中删除属性。

3、使用Object.assign()方法:
  • 可以使用Object.assign()方法创建一个新对象,只包含原对象中指定的属性,从而达到删除属性的效果。示例代码如下:
var obj = {name: "John",age: 30,city: "New York"
};console.log(obj); // { name: "John", age: 30, city: "New York" }var newObj = Object.assign({}, obj);
delete newObj.age;console.log(obj); // { name: "John", age: 30, city: "New York" }
console.log(newObj); // { name: "John", city: "New York" }

通过Object.assign()方法创建的新对象不包含被删除的属性。需要注意的是,原对象并没有发生改变。

4、使用rest解构对象
  • 1) 属性名称已知:
const { property, ...restObject } = object;

应用解构和rest语法后,restObject将包含与object相同的属性,只是没有删除的属性。

const obj= {name: '秋秋钟汉良',url: 'qq.com'
};
const { url, ...objRest } = obj;
console.log(objRest); // { name: '秋秋钟汉良' }
console.log(obj); // { name: '秋秋钟汉良',url: 'qq.com' }
  • 2) 属性名称是动态的:
const name = 'property';
const { [name]: removedProperty, ...restObject } = object;

如果要删除的属性名称是动态确定的,则可以使用动态属性名称解构语法:

const obj = {  name: '秋秋钟汉良',  url: 'qq.com'};
const name = 'url';
const { [name]: removedProperty, ...objRest } = obj;
console.log(objRest); // { name: '秋秋钟汉良' }

rest结构方法还可以一次性删除多个属性:

const obj = {name: '秋秋钟汉良',url: 'qq.com',title: '秋秋测试大麦网网速', 
};
const { url, title, ...objRest } = obj;
console.log(objRest);

这些是JavaScript中常用的删除对象属性的方法,根据具体情况选择合适的方法来删除对象的属性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/656908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

几种常见编码器优缺点

目录 光电编码器 磁性编码器 编码器在运动控制类产品中比较常见,旋转编码器都是组成运动控制反馈回路的关键元器件,包括工业自动化设备和过程控制、机器人技术、医疗设备、能源、航空航天等。 作为将机械运动转换为电信号的器件,编码器可为…

ASP.NET Core 使用 SignalR 的简单示例

写在前面 ASP.NET SignalR 是一个开源代码库,简化了Web实时通讯方案,可以实时地通过服务端将信息同步推送到各个客户端,可应用于 需要从服务器进行高频更新的应用:包括游戏、社交网络、投票、拍卖、地图和GPS应用; 仪…

Linux命令-aptitude命令(Debian Linux系统中软件包管理工具)

补充说明 aptitude命令 与apt-get命令一样,都是Debian Linux及其衍生系统中功能极其强大的包管理工 具。与apt-get不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个 包时,会同时删除本身所依赖的包。这样…

excel中去掉单元格中两个数字之间的空格

excel中去掉单元格中两个数字之间的空格 使用公式:SUBSTITUTE(A1," “,”") 解释:将A1单元格中的空格查找出来并去掉。

python_蓝桥杯刷题记录_笔记_入门2

前言 现在正式进入蓝桥杯的刷题啦,用python来做算法题,因为我之前其实都是用C来做题的,但是今年的话我打算换python来试试,很明显因为也才这学期接触python 加上之前C做题也比较菜,所以我打算用python重新来做题&#…

Nginx 部署指定文件夹下的项目(本地测试)

1、配置 vue.config.js,指定生成环境的包 //部署生产环境和开发环境下的URLpublicPath: process.env.NODE_ENV production ? "/marketing" : "/",///npm run build 或 varn build 生成文件的日录名称(要利baseUrl的牛产环境路一致)(默认dist…

STL之stack 【栈】

STL之stack 【栈】 头文件创建stack添加元素(插入元素)删除元素(弹出元素)访问元素检查栈是否为空:获取栈的大小遍历C中stack用c语言实现栈 stack:栈,后进先出(LIFO)的数据结构。适用于需要在容…

每日一言正能量句子,心灵鸡汤之励志文案

1、相信自我是成功的基石,完善自我是成功的阶梯,突破自我是成功的钥匙,合谋共处是成功的翅膀,确立目标是成功的起点,付注行动是成功的号角! 2、所有的努力,不是为了让别人觉得你了不起&#xf…

Modern C++ sizeof(std::tuple)的秘密

1. 前言 我们曾经至少三篇帖子或多或少的提到过std::tuple的原理及占用空间大小: Modern C++ std::tuple的sizeModern C++利用工具快速理解std::tuple的实现原理GDB调试技巧实战–自动化画出类关系图Modern C++ std::unique_ptr的实现原理但是,当初在第一篇中提出的size的问…

【INTEL(ALTERA)】错误:*.onchip_flash_0:UFM 扇区不支持“隐藏”模式。请更新访问模式设置

说明 由于英特尔 Quartus Prime Standard Edition 软件版本 22.1 存在一个问题,当您针对 10 FPGA Compact 变体英特尔 MAX在片上闪存英特尔 FPGA IP中选择单压缩映像配置模式时,可能会出现以下错误消息。 错误:*.onchip_flash_0&#xff1a…

C系列-自定义类型:结构体

🌈个人主页: 会编程的果子君 ​💫个人格言:“成为自己未来的主人~” 结构体类型的声明 前面我们在学习操作符的时候,已经学习了结构体的知识,这里我们稍微复习一下。 结构体回顾 结构是一些值的集合,这些值称为成员…

【字节跳动】资深后端开发工程师-平台应用服务

资深后端开发工程师-平台应用服务 上海|正式|研发 - 后端职位|ID:A04493 职位描述 负责商业化基础服务系统能力建设,参与千亿级广告基础数据服务研发和优化,参与广告平台通用组件的设计和实现&#xff1b…

【linux】磁盘相关命令fdisk/lsblk和file

1. fdisk 磁盘分区,查看系统分区。 fdisk 的意思是 固定磁盘(Fixed Disk) 或 格式化磁盘(Format Disk),它是命令行下允许用户对分区进行查看、创建、调整大小、删除、移动和复制的工具。它支持 MBR、Sun、SGI、BSD 分区表,但是它不支持 GUI…

Docker 数据管理、容器互联、网络与资源控制

一、docker数据管理 管理 Docker 容器中数据主要有两种方式:数据卷(Data volumes)和数据卷容器(Datavolumes containers)。 1、数据卷 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立…

池化设计之数据库连接池

前言 一般数据库操作、主机操作等经常会涉及到会话,什么是会话,会话在日常生活中就是指两个人或者多个人直接的交流,同样的在IT行业会话一般是指客户端和服务端之间的通信交流。比如数据库,如果使用可视化界面做为客户端和数据库…

牛顿法与拟牛顿法

文章目录 牛顿法&拟牛顿法1 牛顿法2 拟牛顿法2.1 对称秩1校正2.2 DFP2.3 BFGS 牛顿法&拟牛顿法 设无约束优化问题: min ⁡ f ( x ) , x ∈ R n \min f(x),{\kern 1pt} \,x \in {R^n} minf(x),x∈Rn 1 牛顿法 基本思想,通过泰勒二阶展开&…

Prometheus 容器化部署

实验部署 工作中是基于kube-api的自动发现 1、创建账户绑定集群 kubectl create serviceaccount monitor -n monitor-sa #创建账户 kubectl create clusterrolebinding monitor-clusterrolebinding -n monitor-sa --clusterrolecluster-admin --serviceaccountmonitor-sa:…

FileViewer纯前端预览项目Vue2 demo

FileViewer 项目Vue2 demo 本demo基于vue-clijsvue2.x构建,如果您需要vue3版本的demo,请前往main分支。 适用于Vue2 Webpack,本集成方法要求最低Webpack版本为5,也就是Vue Cli Service 5.0.0以上,当然,if…

13.前端--CSS-盒子模型

1.盒子模型的组成 CSS 盒子模型本质上是一个盒子,封装周围的 HTML 元素,它包括:边框、外边距、内边距、和 实际内容 2.边框(border) 2.1 边框的使用 1、border设置元素的边框。边框有三部分组成:边框宽度(粗细) 边框…

国网四川宜宾供电公司:基于“RPA+AI”融合技术的电网设备隐患缺陷智能化识别应用

推荐单位:国网四川省电力公司宜宾供电公司 本文作者:杨鑫、唐龙、钟睿、李小航、孙雪冬 摘 要:为推进电力企业生产业务数字化转型,提高基层班组数字化运维水平。本文通过一线班组对变电站视频巡视、设备故障判断应用场景需求分析…