当前位置:网站首页>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()方法,方便快捷,一步到位~
边栏推荐
- uni-app开发语音识别app,讲究的就是简单快速。
- 使用Dom4j解析XML
- Changing JS code has no effect
- 关于 Notion-Like 工具的反思和畅想
- 【服务器数据恢复】某品牌服务器存储raid5数据恢复案例
- Natural language processing series (I) introduction overview
- How can non-technical departments participate in Devops?
- mysql拆分字符串做条件查询
- 精彩速递|腾讯云数据库6月刊
- 关于 SAP UI5 floating footer 显示与否的单步调试以及使用 SAP UI5 的收益
猜你喜欢
SAP UI5 ObjectPageLayout 控件使用方法分享
RHCSA3
【服务器数据恢复】某品牌服务器存储raid5数据恢复案例
Taobao product details API | get baby SKU, main map, evaluation and other API interfaces
Binder通信过程及ServiceManager创建过程
Natural language processing series (I) introduction overview
Why is your next computer a computer? Explore different remote operations
精彩速递|腾讯云数据库6月刊
关于 SAP UI5 floating footer 显示与否的单步调试以及使用 SAP UI5 的收益
ASEMI整流桥HD06参数,HD06图片,HD06应用
随机推荐
【服务器数据恢复】某品牌服务器存储raid5数据恢复案例
RHCAS6
MySQL giant pit: update updates should be judged with caution by affecting the number of rows!!!
SAP SEGW 事物码里的导航属性(Navigation Property) 和 EntitySet 使用方法
A small talk caused by the increase of sweeping
Introduction aux contrôles de la page dynamique SAP ui5
无密码身份验证如何保障用户隐私安全?
爱可生SQLe审核工具顺利完成信通院‘SQL质量管理平台分级能力’评测
RHCSA3
[Nacos cloud native] the first step of reading the source code is to start Nacos locally
程序员成长第八篇:做好测试工作
使用 jMeter 对 SAP Spartacus 进行并发性能测试
简单上手的页面请求和解析案例
Setting up sqli lab environment
初次使用腾讯云,解决只能使用webshell连接,不能使用ssh连接。
开发者,云原生数据库是未来吗?
What is the difference between Bi software in the domestic market
SAP ui5 objectpagelayout control usage sharing
RHCSA8
逆波兰表达式