Vue判断数组内是否存在某一项的两种方法
作者:椿☽
这篇文章主要介绍了Vue判断数组内是否存在某一项,今天给大家分享两种方法,分别是findIndex()和 indexOf()方法,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
Vue判断数组内是否存在某一项
两种方法:
findIndex()和 indexOf()方法
findIndex()顾名思义,查找符合条件的值并返回其索引(返回值为-1表示不存在满足条件的值),通过判断返回值对其进行下一步操作
indexOf()从头开始寻找是否存在符合条件的字符串,返回值为-1表示不存在
//方法一:通用 xx(Arr,date){ // 返回值等于-1 说明数组Arr中不存在id为date的对象 if( Arr.findIndex(item => item.id=== date )!==-1){ ... } } //方法二:当数组里的对象为字符串时用这个方法更简单 xx(Arr,date){ // 返回值等于-1 说明数组Arr中不存在id为date的对象 if( Arr.indexOf(date)!==-1 ){ ... } }
实例
xxx(){ const that=this; that.$axios.get('/get_collection_user') //axios请求 .then((res)=>{ that.cards = res.data //获取cards数组 //判断数组内是否存在数据that.storeId,如果不存在返回值为-1 if(that.cards.findIndex(item => item.mindId=== that.storeId)!==-1){ that.isActive = true } })
VUE-判断数组中是否含有某个值
①findIndex()
['zahngsan','lisi','LIXIUJUAN700','WANGYIBO500'].findIndex((v)=>(v==="LIXIUJUAN700")) // 得到的值!==-1,则存在 // 返回2,该值在数组中的位置
②find()
let arr =[{name:'ZS'},{name:'WW'},{name:'LS'},{name:'GT'},{name:'JP'},{name:'JP'}]; let obj =arr.find((item)=>{item.name==='JP'}); if(obj){ // 存在,返回obj={name:'JP'} }else{ // 不存在 }
③indexOf()
['nts','stg','APP'].indexOf('nts') // === -1 则不存在 // !== -1 则存在,返回的是该值在数组的索引 0
④filter()
['nts','stg','esg'].filter((m)=>(m!=='stg'));// ['nts','esg'] // 可以判断数组过滤后的长度与过滤后的长度比较
⑤includes()
['stg','nts','cds','app'].includes('app'); // true 存在 // false 不存在
到此这篇关于Vue判断数组内是否存在某一项的文章就介绍到这了,更多相关Vue判断数组内是否存在某一项内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!