vue 移动端 (频道管理-计算属性compted)使用数组fiter 去重的方法

33 篇文章 2 订阅

场景: 由于所有用户频道过多,而我的频道列表里不需要那么多,并且还有很多重复的这时候我需要用去重的方法;

注释***

userChannelList: [], //用户选择频道索引ID为0,页面刚打开是频道高亮-对应文章数据)

allChanneList: [], // 所有频道的列表 ***

在computed 计算属性 里进行去重

  computed:{
    //定义一个变量
    unCheckChannwlList(){
      //目标:把所有的频道数组挨个对象取出,去用户已经选择的频道数组里去查找,如果找不到,则让filter方法收集到一个新的数组里
   const newArr=   this.allChanneList.filter(bigObj=>{
//遍历每个频道对象
//寻找下标
let index=this.userChannelList.findIndex(smallObj=>{
//判断一下大数组里id 和小数组里的id 是否相等
return smallObj.id===bigObj.id

})
//如果找到了
if(index>-1){
  return false
}else{
  return true
}

      })
      return newArr
    }

简洁的

computed:{
    //定义一个变量
    unCheckChannwlList(){


return this.allChanneList.filter(bigObj=>this.userChannelList.findIndex(smallObj=>smallObj.id===bigObj.id)==-1)
    }

去重效果:

    

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值