当前位置:网站首页>js判断数组中是否存在某个元素(四种方法)
js判断数组中是否存在某个元素(四种方法)
2022-07-05 12:56:00 【燕双鹰...】
法一:利用indexOf
不存在返回-1,存在返回第一次出现的索引
// js检查数组中是否包含某个元素
// 法一 indexOf
var arr = [100,20,50,58,6,69,36,45,78,66,45]
if(arr.indexOf(66)==-1){
console.log("不存在")
}else{
console.log("存在,索引是:",arr.indexOf(66))
}
法二:利用find
它的参数是一个回调函数,所有数组元素依次遍历该回调函数,直到找出第一个返回值为true的元素,然后返回该元素,否则返回undefined。
var arr = [100,20,50,58,6,69,36,45,78,66,45]
arr.find(function(value,index,arr){
if(value==45){
console.log("存在",index)
}
})
console.log(param)
查找45,find会找出所有存在的45以及索引
法三:利用some
some方法同样用于检测是否有满足条件的元素,如果有,则不继续检索后面的元素,直接返回true,如果都不符合,则返回一个false。
用法与find相似,只是find是返回满足条件的元素,some返回的是一个Boolean值,从语义化来说,是否包含返回布尔值更贴切。
let arr = [100,20,50,58,6,69,36,45,78,66,45]
// some
let result = arr.some(ele => ele === 45) //true
if (result) {
//do something...
};
console.log(result)
法四:includes
ES6新增的数组方法,用于检测数组是否包含某个元素,如果包含返回true,否则返回false,比较厉害的是,能直接检测NaN:
优点 就不用说了,最简单的做法没有之一,不用回调,不用复杂的写法,一个方法直接搞定。
缺点 是低版本浏览器支持不是很友好
let arr = [100,20,50,58,6,69,36,45,78,66,45,NaN]
// 法四
let flag = arr.includes(1100)
let flag1 = arr.includes(NaN)
console.log(flag,flag1)
推荐使用includes()方法,方便快捷,一步到位~
边栏推荐
- Navigation property and entityset usage in SAP segw transaction code
- Pycharm installation third party library diagram
- Reflection and imagination on the notation like tool
- 逆波兰表达式
- Association modeling method in SAP segw transaction code
- 解决 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa2 in position 107
- SAP SEGW 事物码里的 ABAP Editor
- [Nacos cloud native] the first step of reading the source code is to start Nacos locally
- SAP UI5 DynamicPage 控件介绍
- A small talk caused by the increase of sweeping
猜你喜欢
DataPipeline双料入选中国信通院2022数智化图谱、数据库发展报告
简单上手的页面请求和解析案例
SAP UI5 视图里的 OverflowToolbar 控件
初次使用腾讯云,解决只能使用webshell连接,不能使用ssh连接。
[cloud native] event publishing and subscription in Nacos -- observer mode
C# 对象存储
A specific example of ABAP type and EDM type mapping in SAP segw transaction code
Laravel document reading notes -mews/captcha use (verification code function)
Setting up sqli lab environment
Alipay transfer system background or API interface to avoid pitfalls
随机推荐
解决 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa2 in position 107
SAP UI5 DynamicPage 控件介绍
蜀天梦图×微言科技丨达梦图数据库朋友圈+1
SAP UI5 FlexibleColumnLayout 控件介绍
SAP UI5 ObjectPageLayout 控件使用方法分享
Run, open circuit
Developers, is cloud native database the future?
Compile kernel modules separately
Alibaba cloud SLB load balancing product basic concept and purchase process
Halcon template matching actual code (I)
Insmod prompt invalid module format
事务的基本特性和隔离级别
碎片化知识管理工具Memos
你的下一台电脑何必是电脑,探索不一样的远程操作
Natural language processing from Xiaobai to proficient (4): using machine learning to classify Chinese email content
Simple page request and parsing cases
峰会回顾|保旺达-合规和安全双驱动的数据安全整体防护体系
SAP SEGW 事物码里的 ABAP 类型和 EDM 类型映射的一个具体例子
What is the difference between Bi software in the domestic market
It's too convenient. You can complete the code release and approval by nailing it!