别再写一堆 if 判断了?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!

大家好,我是大澈!

本文约 700+ 字,整篇阅读约需 1 分钟。

今天分享一段优质 JS 代码片段,用条件数组来简化条件判断代码的书写,很妙且很简单。

老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!

const condition = [undefined, null, 1, 2];
if(condition.includes(a)) {doSomething()
}

分享原因

这段代码的分享是为了展示如何使用 Array.prototype.includes() 方法来检查条件变量是否包含在一个数组中,并且在条件满足时执行某个操作。

它展示了一种简洁而高效的方法来进行多值匹配,这在许多编程场景中都非常实用。

以后不要再使用像 if(a === undefined || a === null || a === 1 || a === 2) 这种多值匹配写法了!

代码解析

1. const condition = [undefined, null, 1, 2];

定义条件数组condition。

如果还有需要判断的条件值,直接在condition数组中添加即可。

这样代码就会简洁很多,并且便于扩展。

2. if (condition.includes(a))

这部分代码使用 Array.prototype.includes() 方法检查变量 a 是否包含在 condition 数组中。

includes() 方法返回一个布尔值,如果数组中包含该值,则返回 true,否则返回 false。

如果 includes(a) 返回 true,则执行 doSomething() 函数。

3. Array.prototype.includes() 方法

该方法用于判断一个数组是否包含一个指定的值,根据情况返回 true 或 false。

语法:array.includes(valueToFind, [fromIndex])

valueToFind:需要在数组中查找的值。

[fromIndex]:可选,从该索引处开始查找,默认为 0。

- end -

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

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

相关文章

huggingface笔记:gpt2

0 使用的tips GPT-2是一个具有绝对位置嵌入的模型,因此通常建议在输入的右侧而不是左侧填充GPT-2是通过因果语言建模(CLM)目标进行训练的,因此在预测序列中的下一个标记方面非常强大 利用这一特性,GPT-2可以生成语法连…

C#面 :ASP.Net Core中有哪些异常处理的方案?

在 ASP.NET Core中,有多种异常处理方案可供选择。以下是其中几种常见的异常处理方案: 中间件异常处理: ASP.NET Core提供了一个中间件来处理全局异常。通过在Startup类的Configure方法中添加UseExceptionHandler中间件,可以捕获…

Autosar MCAL-S32k324 Crypto配置-RandomNumber生成及使用

文章目录 前言CryptoPrimitivesCryptoPrimitiveAlgorithmFamilyCryptoPrimitiveAlgorithmModeCryptoPrimitiveAlgorithmSecondaryFamilyCryptoPrimitiveServiceCryptoDriverObject代码使用Random Generate执行流程配置job函数使用示例总结前言 之前介绍过AES-CMAC算法的配置,…

Windows 与 Windows Server 2022环境下如何开启远程桌面

文章目录 前言Windows 环境下如何开启远程桌面控制功能Windows Server 环境下如何开启远程桌面 前言 我这边是客户需要搭建一套备份系统,整体的系统流程是这样的:客户的笔记本或者其他PC工具可以自由访问到我司搭建的服务器平台并进行文件传输&#xff…

【C++】开源:地图投影和坐标转换proj库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍地图投影和坐标转换proj库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&a…

vue中的watch和$watch的用法实际场景和区别

watch(组件选项) watch 是Vue组件的一个选项,它允许你定义一些监听器,这些监听器会在组件的响应式数据变化时调用。它主要用于组件内部的数据监听。 实际场景: 当组件内部的数据变化时,需要执行一些操作&…

5款极其强大的大模型文生图工具!

文生图技术是一种基于深度学习的技术,可以根据自然语言描述生成相应的高品质图像。 下面介绍几个目前市场上比较优秀的工具或网站,并制作一张男性的白袍巫师图来比较。 针对大模型和AIGC技术趋势、AIGC 算法项目落地经验分享、新手如何入门算法岗、该如…

el-scrollbar组件使用踩坑记录

一、el-scrollbar和浏览器原生滚动条一起出现 问题描述 el-scrollbar组件主要用于替换浏览器原生导航条。如下图所示,使用el-scrollbar组件后,发现未能成功替换掉浏览器原生导航条,二者同时出现。 引发原因 el-scrollbar的height属性如果…

前端根据目录生成模块化路由routes

根据约定大于配置的逻辑,如果目录结构约定俗成,前端是可以根据目录结构动态生成路由所需要的 route 结构的,这个过程是要在编译时 进行,生成需要的代码,保证运行时的代码正确即可 主流的打包工具都有对应的方法读取文…

【不容错过】可灵AI重磅更新:画质升级,运镜控制,首尾帧自定义,还有30万创作激励奖金!

还记得最近在各大平台肆虐的老照片变成视频吗,就是用快手的可灵AI做的,今天可灵又迎来了一次重大更新。 「电脑端上线了」 之前一直用其他工具生的图片还需要保存到手机上,再用可灵来生成视频,很多人都能感受到手机操作不太方便&…

Vue3项目给ElementPlus设置中文的两个方案

介绍 在Vue3项目将ElementPlus切换为中文 1、在App.vue的文件中修改 <template><el-config-provider :locale"zhCn"><router-view></router-view></el-config-provider> </template><script lang"ts" setup>im…

elasticsearch源码分析-04集群状态发布

集群状态发布 cluster模块封装了在集群层面执行的任务&#xff0c;如集群健康、集群级元信息管理、分片分配给节点、节点管理等。集群任务执行之后可能会产生新的集群状态&#xff0c;如果产生新的集群状态主节点会将集群状态广播给其他节点。 集群状态封装在clusterState中&…

Linux下网络编程-简易poll服务器和客户端

Linux下网络编程-简易poll服务器和客户端 简易poll服务器: //编译命令&#xff1a;g -g xxx.cpp -o xxx #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h…

ionic7 使用Capacitor打包 apk 之后,设置网络权限

报错处理 在打包的时候遇到过几个问题&#xff0c;这里记录下来两个 Visual Studio Code运行ionic build出错显示ionic : 无法加载文件 ionic 项目通过 android studio 打开报错 capacitor.settings.gradle 文件不存在 ionic7 项目初始化以及打包 apk 这篇文章讲到了如果安装…

2-25 基于matlab的语音信号降噪处理算法

基于matlab的语音信号降噪处理算法&#xff0c;采用谱减法&#xff0c;可以对强噪声背景下的语音信号进行去噪。输入原始信号及加噪信号&#xff0c;对加噪信号进行降噪&#xff0c;并提高信噪比。程序已调通&#xff0c;可直接运行。 2-25 语音信号降噪处理算法 谱减法 - 小红…

餐饮管理系统-计算机毕业设计源码43667

餐饮管理系统 摘 要 在信息化、数字化的时代背景下&#xff0c;餐饮行业面临着前所未有的挑战与机遇。为了提高运营效率、优化顾客体验&#xff0c;餐饮企业亟需一套高效、稳定且灵活的管理系统来支撑其日常运营。基于Spring Boot的餐饮管理系统应运而生&#xff0c;成为餐饮行…

mac 安装nvm的教程

在macOS上切换Node.js版本&#xff0c;可以使用nvm&#xff08;Node Version Manager&#xff09;。以下是安装nvm和切换Node.js版本的步骤&#xff1a; 安装nvm 下载方式 终端复制输入&#xff1a; curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.…

教育科研行业算力池化解决方案

教育科研行业算力池化解决方案 解决方案概述 1. 算力资源集中管理 建立校级算力中心:通过信息中心建设校级的算力中心,将分散在各学院或科研团队的算力资源集中管理。利用算力池化技术:采用先进的算力池化技术(如趋动科技的OrionX),将物理GPU资源切分为多个虚拟GPU(vGP…

GIT - 一条命令把项目更新到远程仓库

前言 阅读本文大概需要1分钟 说明 更新项目到远程仓库只需要执行一条命令&#xff0c;相当的简便 步骤 第一步 编辑配置文件 vim ~/.bash_profile第二步 写入配置文件 gsh() {local msg"${1:-ADD COMMIT PUSH}"git add . && git commit -m "$m…

mipi协议中的calibration和scramble模式

在MIPI(Mobile Industry Processor Interface)协议中,calibration(校准)和scramble(加扰)模式是两个重要的特性,它们分别用于优化数据传输的准确性和减少信号干扰。以下是对这两个模式的详细解析: Calibration(校准)模式 目的与功能: 校准模式主要用于优化和补偿由…