js优化条件判断语句

2023-11-06

js优化条件查询语句

优化前的条件判断:

     /**
     *  优化前
     * */
    function printAnimalDetails(animal) {
        let result = null
        if (animal) {
            if (animal.type) {
                if (animal.name) {
                    if (animal.gender) {
                            result = `${animal.name} is a ${animal.gender}---${animal.type}`
                    } else {
                        result = 'no animal gender'
                    }
                } else {
                    result = 'no animal type'
                }
            } else {
                result = 'no animal type'
            }
        } else {
          result = 'no animal'
        }
        return result
    }

优化后的条件判断:

/**
 * 优化后
 * 利用 提前退出 和 提前返回 的思想
 */
const optimizationPrintAnimalDetails = (animal) => {
    if (!animal) return 'no animal'
    if (!animal.type) return 'no animal type'
    if (!animal.name) return 'no animal name'
    if (!animal.gender) return 'no animal gender'
    return `${animal.name} is a ${animal.gender}---${animal.type}`
}

测试优化后的代码

console.log(optimizationPrintAnimalDetails({name:'大黄'})) // no animal type
console.log(optimizationPrintAnimalDetails({name:'大黄',type:'金毛',gender:'公'}))// 大黄 is a 公---金毛
console.log(optimizationPrintAnimalDetails()) // no animal
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js优化条件判断语句 的相关文章

随机推荐

  • 区块链扫盲之私钥、公钥和地址

    公开密钥 public key 简称公钥 私有密钥 private key 简称私钥 是密码学里非对称加密算法的内容 顾名思义 公钥是可以公开的 而私钥则要进行安全保管 私钥是由随机种子生成的 公钥是将私钥通过算法推导出来 由于公钥太长 为
  • python socket编程之tcp协议多客户端连接

    1 socket 介绍 socket 原意插座 插孔 计算机中一般称为套接字 在同一台计算机中的两个程序可以通过文件 管道 队列等方式进行通信 但是在网络中 两台计算机之间的通讯就需要依靠socket进行通信 2 socket之tcp协议
  • 利用Anaconda完成Python环境安装及配置

    1 Anaconda 1 1 配置过程 Anaconda是一个开源的Python和R编程语言的软件包管理器和环境管理器 用于数据科学和机器学习的开发 进入官网https www anaconda com 下载安装包 next gt arge
  • Host is not allowed to connect to this MySQL server

    意思其实就是我们的MySQL不允许远程登录 所以远程登录失败了 解决方法如下 1 在装有MySQL的机器上登录MySQL mysql u root p密码 2 执行use mysql 3 执行update user set host whe
  • matlab神经网络

    Solve an Input Output Fitting problem with a Neural Network Script generated by Neural Fitting app Created 03 Jan 2022 1
  • vue的常用基础知识

    哈喽 今天不加班 回来整理一下以前的旧笔记 给你们分享一波基础知识 1 Vue模板的使用 div msg vue中的data又属性值 1 2 4 7 5 isShow 真好看 真丑 parseInt 10 2345 div 里面可以写任意j
  • 数据库操作入门速查(1)——Access数据库简单访问

    引用 using System Data OleDb 编写代码 string s Provider Microsoft Jet OLEDB 4 0 Data Source D student zws20151389047 EX1 Datab
  • 启动mongoDB服务

    打开计算机服务 查看mongoDB服务是否已经启动 如果没有自动启动 右键手动启动一下 即可 安装过程中 经常出现一个问题 服务无法自动创建启动 去bin目录下启动mongod exe 提示丢失文件 需要下载安装 去微软官网下载安装 Vis
  • LeetCode--39.组合总和、40组合总和II

    LeetCode 39 组合总和 40组合总和II做题笔记 39 组合总和 题目描述 解题思路 代码 java 40 组合总和II 题目描述 解题思路 代码 java 39 组合总和 题目描述 给定一个无重复元素的数组 candidates
  • 关于TP5400锂电池充放电一体模块 电感“尖叫”(升压Boost电路中 电感有可听见的高频振荡的问题探索与尝试改善)

    TP5400锂电池充放电一体模块电感 尖叫 前言 电感高频振荡人耳可听问题 1 怀疑是电感问题 2 芯片升压功能本身振荡频率低 3 芯片坏了 4 选用电感有问题 猜想 验证 结论 前言 最近一个项目中用到了锂电池充放电电路 之后在 立创开源
  • vue-element表单内使用上传文件,并和表单其他内容一起上传

    vue element 上传文件 表单内使用上传文件 并和表单其他内容一起上传
  • C# 如何只连接一次数据库,然后执行3次查询SQL语句,然后分别把查询结果取到缓冲区中保存

    我有1个数据库共有30个字段 字段名为id 字段2 字段3 字段30 我想只连接一次数据库 然后在数据库中依次查询以下三种符合条件的记录 查找到后取出该记录的字段2 字段3 字段30的数值 1 查找 id xxxxxx01 的记录 将字段2
  • MyBatis工作原理

    MyBatis是一款轻量级的ORM框架 其主要作用就是将Java程序中的数据对象映射到关系数据库中 以下是MyBatis的一些主要知识点小结 MyBatis工作原理 MyBatis的工作原理主要是将Java程序中的SQL语句和关联关系映射到
  • 设计模式之Adapter模式

    今天这篇文章 我们来讲将设计模式中的 Adapter模式 中文就是 适配器模式 先说说一个生活中适配器模式的案例 有助于理解 现在有一个100伏特的交流电源 我现在想给笔记本充电 但是笔记本只能用12伏特的直流电 那我们是不是不能用这个电源
  • element el-cascader 表单无验证

  • JS简单实现tab滚动切换

    今天稍微查了一下类似的 要么写得很多 要不代码补全 这个东西哪有那么复杂 滚动切换的逻辑其实特别简单 只要看懂了这个做一些较复杂的功能也可以举一反三了 直接上代码
  • CSS:实现动态流光线条效果/动态流光线条颜色渐变效果

    文章目录 需求描述 思路 参考代码 HTML CSS 在线运行 补充 流光plus HTML CSS JAVASCRIPT 参考文档 需求描述 需要实现类似下图中的动态流光线条效果 思路 提到这种动态绘制矢量图形的需求 一般会想到使用can
  • 联想服务器安装2019系统,联想支持的Win10 2019年10月更新(1909版本)的机型

    操作步骤 安装或升级系统太麻烦 没有时间 联想专家一对一重装系统服务 通过远程的方式重装系统 让电脑重新恢复活力 速度更快 相关阅读 本文档给出了联想测试过的支持从Windows 10历史版本 1607 build 14393 1703 b
  • linux(十二)——sudo命令

    这里写目录标题 1 sudo介绍 2 语法 3 测试案例一 3 测试案例二 配置别名 1 sudo介绍 sudo是linux下常用的允许普通用户使用超级用户权限的工具 允许系统管理员让普通用户执行一些或者全部的root命令 如halt re
  • js优化条件判断语句

    js优化条件查询语句 优化前的条件判断 优化前 function printAnimalDetails animal let result null if animal if animal type if animal name if an