JS如何优雅的删除对象中的指定属性?

2023-05-16

要优雅的话,使用 Lodash 的 omit 方法移除不要的属性:

const object = { ‘a’: 1, ‘b’: ‘2’, ‘c’: 3 };

const result = _.omit(object, [‘a’, ‘c’]);
// => { ‘b’: ‘2’ }
或者用 pick 方法只留下需要的属性:

const object = { ‘a’: 1, ‘b’: ‘2’, ‘c’: 3 };

const result = _.pick(object, [‘a’, ‘c’]);
// => { ‘a’: 1, ‘c’: 3 }
当然如果你不想用库或者喜欢动手的话,自己实现一个 omit 也是可以的,实现方法有很多:

// 中规中矩式
const omit = (obj, uselessKeys) =>
Object.keys(obj).reduce((acc, key) =>
return uselessKeys.includes(key) ?
acc :
{…acc, [key]: acc[key]}
}, {});

// 投机取巧式
const omit = (obj, uselessKeys) =>
uselessKeys.reduce((acc, key) => {
return {…acc, [key]: undefined}
}, obj)

// 粗暴式
const omit = (obj, uselessKeys) => {
uselessKeys.forEach(key => {
delete obj[key]
})
return obj
}
最后是特别粗暴的方法:

delete obj.created_at
delete obj.deleted_at
delete obj.updated_at

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS如何优雅的删除对象中的指定属性? 的相关文章

随机推荐

  • 【解决】ubuntu桌面无法进入问题

    ubuntu桌面崩溃 xff0c 无法进入 记录一次ubuntu桌面崩溃无法进入系统桌面问题的解决 xff0c 无法进入桌面 xff0c 但可以进入终端的情况下可以参考解决 span class token comment 进入终端 spa
  • jetson tx2安装opencv

    Jstson TX2 安装opencv 参考 xff1a https blog csdn net QLULIBIN article details 84072356 版本 xff1a Jetson TX2JetPack3 2OpenCV3
  • C++符号修饰Name-mangling

    C 43 43 符号修饰 C语言符号修饰 在上古时期 xff0c 编译器编译源代码产生目标文件时 xff0c 符号名与相应的变量和函数的名字是一样的 比如一个汇编源代码里面包含一个函数foo xff0c 那么汇编器将其编译成目标文件后 xf
  • VS Code远程SSH免密登录配置

    最近更新了VS Code之后 xff0c 发现Remote ssh拓展里的端口转发功能没了 xff0c 很伤心 xff0c 在探索的同时 xff0c 顺手配置了一下VS Code ssh免密登录 xff0c 以省去每次连接远程文件夹时输入两
  • 目标检测之一(传统算法和深度学习的源码学习)

    目标检测之一 xff08 传统算法和深度学习的源码学习 xff09 本系列写一写关于目标检测的东西 xff0c 包括传统算法和深度学习的方法都会涉及到 xff0c 注重实验而不着重理论 xff0c 理论相关的看论文去哈 xff0c 主要依赖
  • FreeRTOS中任务切换过程的分析

    FreeRTOS中Pendsv任务切换过程的分析 一 Pendsv中断任务解析 xff08 1 xff09 uxCriticalNesting 是进入临界区的次数 xff08 2 xff09 pxCurrentTCB是FreeRTOS运行时
  • CentOS6关闭防火墙使用以下命令

    cmd命令关闭防火墙 net stop mpssvc CentOS6关闭防火墙使用以下命令 xff0c 临时关闭 service iptables stop 禁止开机启动 chkconfig iptables off CentOS7中若使用
  • 《软件工程》试题举例-简答题

    Please give out 3 pieces of recommendations regarding language independent good programming practice 6 marks 良好的编程实践的建议
  • 2020届电子信息类专业保研经历分享

    文章目录 一 个人基本情况二 初心三 夏令营 九推情况介绍1 上海交大自动化系直硕面试 xff08 7月8日 xff09 2 中科大信息学院夏令营 xff08 7月15日 xff09 3 中科院自动化所夏令营 xff08 7月23日 xff
  • RGB图与灰度图相互转换关系表达式

    RGB图转灰度图 1 Y 61 0 3R 43 0 59G 43 0 11B 2 平均值法 xff0c 将RGB平均 灰度图转RGB图 先将单通道的灰度图转为三通道的RGB图 xff0c 各通道值的初值赋值为与灰度值相同 然后按照下式映射关
  • sklearn包导入错误:ImportError: cannot import name ‘Type‘解决办法

    在python3 5环境下使用pip直接安装sklearn包后 xff0c 导入出现如下错误 xff1a 仔细观察报错信息可以发现 xff0c 出错的是sklearn中使用到的scipy包 单独导入scipy包发现出错 xff1a 看来 x
  • PyTorch Dataloader报错ValueError: num_samples的另一种可能原因

    先粘报错信息 xff1a Traceback most recent call last File train py line 169 in train test File train py line 29 in train test da
  • Focal loss变种汇总

    VariFocal loss 只对负样本做难易样本挖掘 xff08 正样本数量少 xff0c 不做loss压缩 xff09 Generalized Focal loss xff1a quality focal loss 43 distrib
  • 视觉Transformer中的位置编码方式

    绝对位置编码 基本形式 xff1a x 61 x 43 p 可学习的绝对位置编码 xff08 ViT xff09 ViT中提出的位置编码方式简单粗暴 xff0c 设置一组可学习的编码tokens xff0c 并在patch embeding
  • 秋招问题汇总

    1 Python变量作用域 xff1a 局部作用域 xff08 Local xff0c 简写为 L xff09 作用于闭包函数外的函数中的作用域 xff08 Enclosing xff0c 简写为 E xff09 全局作用域 xff08 G
  • 38、OpenCV之C++教程

    一 OpenCV的下载与安装 下载完成后会得到一个 opencv 3 4 15 vc14 vc15 exe 文件 点击运行后会生成一个文件夹 此文件夹为下一步工程创建使用 xff0c 文件夹可移动 复制和重命名 xff0c 这里命名如下 x
  • Java大数据之路--HDFS详解(3)--基本命令

    HDFS 分布式文件存储系统 基本命令 目录 HDFS 分布式文件存储系统 基本命令 一 常见命令 二 其他命令 一 常见命令 命令 说明 hadoop fs mkdir park 在hdfs 的根目录下 xff0c 创建 park目录 h
  • C# 连接 SqlServer 数据库

    目录 一 创建表 二 给表添加数据 三 新建 C 项目 四 SqlServerHelper 五 连接数据库 一 创建表 首先 xff0c 新建一个数据库 Test xff0c 然后新建一个表 Users xff0c 字段名如下图 xff0c
  • org.xml.sax.SAXParseException的错误解决 2020-11-20

    span class token number 2020 span span class token operator span span class token number 11 span span class token operat
  • JS如何优雅的删除对象中的指定属性?

    要优雅的话 xff0c 使用 Lodash 的 omit 方法移除不要的属性 xff1a const object 61 a 1 b 2 c 3 const result 61 omit object a c 61 gt b 2 或者用 p