检测数组对象里面某个值是否存在并且删除这个存在对象的, Vue的写法

转自于:https://zhuanlan.zhihu.com/p/141274277

如何使用检测数组对象里面某个值是否存在?

  • forEach可以实现
export default {
  data(){
    return{
        arr:[
          {name:'小明',age : '18'},
          {name:'小王',age : '18'},
        ],
        data:[],
    }
  },
this.arr.forEach((item,index)=>{
  if(item.name == '小明'){ //存在就进来
        console.log('存在')
}
})

 

如何删除数组对象里面指定的对象?

  • forEach+indexOf +splice可以实现
    • forEach循环这个数组 然后用indexof判断是否存在这个对象,找到会返回它的下标值,之后可以用splice('数组下标',1)进行删除

 

export default {
  data(){
    return{
        arr:[
          {name:'小明',age : '18'},
          {name:'小王',age : '18'},
        ],
        data:[],
    }
  },
    
methods:{
    delete(){
        this.data = this.arr[0] //必须要获取相同整个对象,不然判断不准确
        this.arr.forEach(item => {
        if(item == this.data){
         this.arr.splice(this.arr.indexOf(item),1)//this.arr.indexOf(item) 可以找到它的下标
         console.log(this.arr)
        }
    });
    }
}
  • for in + indexOf+splice 也可以实现
    for (var i in this.arr){
      let data = this.arr[1]
      if(this.arr[i]==data){
       this.arr.splice(this.arr.indexOf(this.arr[i]))
        console.log(this.arr)
      }
    }

 

仅供参考,如果里面有错或者写的不好可以告诉我,我会学习下您的方法 不喜勿喷噢

posted @ 2022-04-24 16:06  Ao_min  阅读(1545)  评论(0编辑  收藏  举报