标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。