”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何有条件地向对象添加属性

如何有条件地向对象添加属性

发布于2024-11-03
浏览:103

How to add properties in object conditionally

如何有条件地向对象添加属性

在 JavaScript 或 TypeScript 中构建对象时,通常会根据表达式的求值有条件地添加属性。这通常是使用扩展运算符 (...) 结合逻辑条件来完成的。

const condition = (a, b) → a › b; const obj = {
          a: 1, b: 2,
          ... (false && {c: 3}), 
          ... (true && {d: 4}), 
          ... (condition (1, 2) && {e: 5}),
        }; 
console.log(obj); // output: { a: 1, b: 2, d: 4 }

解释

  • false && {c: 3}:计算结果为 false,表示 {c: 3} 对象不会传播到 obj 中。

  • true && {d: 4}:由于条件为 true,因此 {d: 4} 被展开到 obj.

  • condition(1, 2) && {e: 5}:条件函数评估是否 a > b。由于 1 > 2 为 false,因此对象 {e: 5} 不会传播。

此技术是一种强大的方法,可以保持对象定义简洁明了,同时根据各种条件动态添加属性。

输出

最终的对象如下所示:
{ a: 1, b: 2, d: 4 }

版本声明 本文转载于:https://dev.to/wadie/how-to-add-properties-in-object-conditionally-11n6?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 实施订单处理系统:建立基础部分
    实施订单处理系统:建立基础部分
    1. Introduction and Goals Welcome to the first part of our comprehensive blog series on implementing a sophisticated order processing system ...
    编程 发布于2024-11-08
  • 如何在 Galera 集群节点上设置 MariaDB/MySQL Exporter 以进行 Prometheus 监控
    如何在 Galera 集群节点上设置 MariaDB/MySQL Exporter 以进行 Prometheus 监控
    社区开发者您好! ? 在这篇文章中,我将引导您完成在 Galera Cluster 节点上设置 MariaDB/MySQL Exporter 以使用 Prometheus 进行监控所采取的步骤。就我而言,我在具有三个节点的云服务器提供商上运行 MariaDB Galera Cluster,并使用 P...
    编程 发布于2024-11-08
  • 演示疼痛
    演示疼痛
    我想讲述一件每次我需要做的事情时都困扰我的事情。它正在准备演示。一般来说,当我尝试使用 Viktor Lidholt 的 slick_slides 来准备演示文稿时,我会在 PowerPoint 中准备演示文稿。  如何放置不同大小的图像,如何选择字体,使用什么颜色,如何放置代码,如何突出显示它,所...
    编程 发布于2024-11-08
  • 请求 Iris 的正文限制中间件
    请求 Iris 的正文限制中间件
    概述 Iris Body Limit 中间件是一个强大的工具,用于控制 Iris Web 应用程序中传入请求正文的大小。通过设置请求正文的大小限制,您可以防止客户端发送过大的负载,否则可能会压垮您的服务器或导致拒绝服务 (DoS) 攻击。此中间件对于处理文件上传、JSON 有效负载...
    编程 发布于2024-11-08
  • 如何在 cookie 中存储 PHP 数组以及安全性和序列化的最佳实践是什么?
    如何在 cookie 中存储 PHP 数组以及安全性和序列化的最佳实践是什么?
    在 Cookie 中存储 PHP 数组在 PHP 中,可以将数组存储在 Cookie 中,以便在后续请求时轻松检索。然而,考虑安全隐患并使用正确的序列化技术至关重要。序列化选项要将数组转换为 cookie 兼容格式,您可以选择以下方法:JSONsetcookie('your_cookie_name'...
    编程 发布于2024-11-08
  • 如何设置VS Code调试工作目录?
    如何设置VS Code调试工作目录?
    设置 VS Code 中调试的工作目录在 Visual Studio Code (VS Code) 中调试 Python 程序时,它通常很有用指定脚本应在其中运行的工作目录。这允许您使用与代码所在的特定目录相关的文件和资源。要将工作目录动态设置为当前打开的 Python 文件的目录,请修改 laun...
    编程 发布于2024-11-08
  • 婴儿学步学习 Laravel
    婴儿学步学习 Laravel
    欢迎回来,开发者! ✨ 在 Laravel 之旅的这一章中(请记住,我在撰写这些文章时正在学习,因此这将是您能找到的最现实的教程系列之一!),我们将深入研究我们的 Laravel 项目。我们将探索项目结构,熟悉迁移,并以最简单的方式分解 MVC 架构。 ?今天的议程...
    编程 发布于2024-11-08
  • 如何动态包含具有不受控制的“document.write()”内容的脚本?
    如何动态包含具有不受控制的“document.write()”内容的脚本?
    动态添加具有不受控制的源内容的脚本标记当内容来自于控件外部时,创建具有外部源的脚本标记可能会带来挑战包括使用 document.write() 的代码。如前所述,仅在 中附加 script 标记无法支持此类内容。要解决此问题,请考虑以下解决方案:使用 document.create 新建一个 sc...
    编程 发布于2024-11-08
  • 在 JavaScript 中如何有效地确定一个数字是否为素数?
    在 JavaScript 中如何有效地确定一个数字是否为素数?
    在 JavaScript 中高效验证素数在计算机编程中,确定给定数字是否是素数是一项基本任务。素数是大于 1 的正整数,除了 1 和它本身之外没有正因数。检查素数的一种流行方法涉及埃拉托斯特尼筛法。然而,出于性能考虑,可以采用更有效的方法,如以下 JavaScript 实现所示:let inputV...
    编程 发布于2024-11-08
  • 为什么 Lambda 表达式需要最终局部变量而不是实例变量?
    为什么 Lambda 表达式需要最终局部变量而不是实例变量?
    Lambda 表达式和变量作用域:为什么 Local ≠ Instance在 Java 中使用 lambda 表达式时,一个常见的困惑点是为什么局部变量需要终结,而实例变量需要终结不要。本文旨在阐明这种区别背后的根本原因。局部变量:最终性命令在 lambda 表达式中,局部变量必须标记为 Final...
    编程 发布于2024-11-08
  • CKA 全程课程日 为什么使用 Kubernetes?
    CKA 全程课程日 为什么使用 Kubernetes?
    那么,您可能已经使用 Docker 容器有一段时间了,对吧?我知道旋转第一个容器的兴奋感就像魔法一样,但随后现实袭来。您开始注意到大规模管理容器很快就会成为物流噩梦。就在那时,Kubernetes(K8s)像经验丰富的项目经理一样进入房间,准备接管并简化一切。 在这篇文章中,我们将探讨独立容器面临的...
    编程 发布于2024-11-08
  • 简要封装示例
    简要封装示例
    书包: 该示例创建一个名为 bookpack 的包,其中包含一个用于管理书籍数据库的简单类。 图书类别: 它有私有属性 title、author 和 pubDate(标题、作者和出版日期)。 构造方法初始化属性。 show() 方法显示书籍详细信息。 BookDemo类: 创建一个包含 5 个 Bo...
    编程 发布于2024-11-08
  • 适用于 AWS 云的简单 SaaS 的技术堆栈
    适用于 AWS 云的简单 SaaS 的技术堆栈
    介绍 注1:这里是托管的交互式演示:demo.saasconstruct.com 注 2:我每个 SaaS 设置的每月账单为 3-5 美元,其中大部分是 CI/CD 成本。 注3:模板在这里:saasconstruct.com。 我在 AWS 上完成了多个 AI PoC 和 MVP...
    编程 发布于2024-11-08
  • 为什么在事件处理程序中使用箭头函数时“this”会出现意外行为?
    为什么在事件处理程序中使用箭头函数时“this”会出现意外行为?
    JavaScript - 箭头函数和事件处理程序当使用箭头函数作为事件处理程序的回调时,函数中的 this 值是意外的。这篇博文解释了此行为背后的原因,并提供了使用 event.currentTarget.箭头函数和词法作用域访问预期元素的解决方案与常规函数不同,箭头函数没有其自己的上下文或范围。相...
    编程 发布于2024-11-08
  • Aurora PostgreSQL 掌握:让您的团队喜极而泣的防弹 Java 模型和 DAO
    Aurora PostgreSQL 掌握:让您的团队喜极而泣的防弹 Java 模型和 DAO
    听着,代码骑师。我即将提供一些知识,帮助您将 Aurora PostgreSQL 游戏从业余游戏转变为大联盟游戏。我们谈论的是 Java 模型和数据库访问器,它们会让您的高级开发人员喜极而泣,而您的 DBA 是否会给您买啤酒(取决于您的年龄)。 为什么这很重要: 性能:草率的模型和 ...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3