ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

一个数组(列)“减去”一个数组“列”

2021-07-09 11:00:54  阅读:149  来源: 互联网

标签:userChannel 一个 filter 减去 userChannels 数组 find channel


问题描述

  现已知“我的频道”列表数据(userChannels),和“全部频道”列表数据(allChannles),想要获取后者减去前者之后能够得到的数组。

我的使用

  JavaScript中数组的filter()和find()方法。

  1. Array.filter()

    filter(value,index,array)方法创建一个满足指定条件的新数组。

    此函数接受 3 个参数:

      项目值

      项目索引

      数组本身

       2. Array.find()

             find(value,index,array))方法返回通过测试函数的第一个数组元素的值。

    此函数接受 3 个参数:

      项目值

      项目索引

      数组本身

代码实现

recommendChannels () {
          // 所有频道 - 我的频道 
          // filter 方法: 过滤数组,根据方法返回的布尔值 true 来收集数据
         return this.allChannels.filter(channel => {
                // 判断 channel 是否属于 userChannels
          // console.log("channel",channel) // 查找 对于这个 channel 如果找到了,则 !一下 return !this.userChannels.find( userChannel => { // 找到满足该条件的元素 相同 返回 true
            // console.log("userChannel",userChannel)
           return userChannel.id === channel.id }) })
}

控制台中打印结果分析:首先打印allChannels的第一个数值,然后遍历userChannels,直到找到相同项或者找不到遍历结束为止。

 

标签:userChannel,一个,filter,减去,userChannels,数组,find,channel
来源: https://www.cnblogs.com/temper-wr/p/14989600.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有