js 取数组对象的交集内容

2023-11-05

一,简单数组

两数组a = [1, 2, 3],b = [2, 4, 5],求a,b数组

  var a = [1,2,3];
  var b = [2,4,5];
  // 并集
  var union = a.concat(b.filter(function(n) {
      return a.indexOf(n) === -1})) // [1,2,3,4,5]
  // 交集
  var intersection = a.filter(function(n){ return b.indexOf(n) > -1 }) // [2]
  // 差集
  var difference = a.filter(function(n){ return b.indexOf(n) === -1 })// [1,3]

二,两个数组对象形式

var arrOne = [ { name:'张三' }{ id: 1 } ]
var arrTwo = [ { name:'李四' }{ id: 2 } ]
this.arrOne = [...arrOne].filter(x => [...arrTwo].some(y => y.id === x.id))

三,如果是多个数组对象的形式

//在第二个的基础上我添加了一个循环去把所有的数组进行了对比交集
changeAttList (data) {
   var list = data.measures
   this.arrOne = list[0].attArray
   this.arrTwo = list[0].presetAtt
   for (var i = 0; i < list.length; i++) {
     if (list.length > 1 && list[i].attArray.length > 1) {
       this.arrOne = [...this.arrOne].filter(x => [...list[i].attArray].some(y => y.id === x.id))
     }
   }
   for (var j = 0; j < list.length; j++) {
     if (list.length > 1 && list[j].presetAtt.length > 1) {
       this.arrTwo = [...this.arrTwo].filter(x => [...list[j].presetAtt].some(y => y.id === x.id))
     }
   }
   this.globalAttList.attArray = this.arrOne
   this.globalAttList.property = this.arrTwo
 },
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js 取数组对象的交集内容 的相关文章

随机推荐

  • 潘周聃之Python分聃 -----数字雨加入潘周聃运动曲线

    作者 勇敢di牛牛 个人项目地址 englishlearningapp 个人简介 有一年工作经验的大学生 工作 汽车系统应用开发 阿里集团 个人网站 牛牛 小窝 独学而无友 则孤陋而寡闻 前言 相信各位同学最近一定被潘周聃刷屏和洗脑了 互联
  • seaborn可视化——一文搞懂heatmap参数

    文章目录 data cmap linewidths linecolor square ax annot 指定为True 指定为同形状数组 vmax vmin annot kws mask xticklabels yticklabels 设置
  • linux 命令 ls 与 ls -lrt 的区别

    ls lrt 表示按修改时间倒序列出当前工作目录下的文件 ls l 表示按名称顺序正序列出当前工作目录下的文件 1 ls 表示列出当前目录下的文件 后面的 lrt 是这个命令的一些选项补充 lrt 实际上是代表了 l r t 这三个选项集合
  • 对sklearn中transform()和fit_transform()的深入理解

    在用机器学习解决问题时 往往要先对数据进行预处理 其中 z score归一化和Min Max归一化是最常用的两种预处理方式 可以通过sklearn preprocessing模块导入StandardScaler 和 MinMaxScaler
  • k8s--基础--21--Statefulset

    k8s 基础 21 Statefulset 1 概念 StatefulSet是为了解决有状态服务的问题而设计 对应Deployments和ReplicaSets是为无状态服务 1 1 应用场景 稳定的持久化存储 即Pod重新调度后还是能访问
  • linux增大交换空间,Linux系统增加交换空间的方法

    Linux系统增加交换空间有两种方法 严格的说 在系统安装完后只有一种方法可以增加swap 那就是本文的第二种方法 至于第一种方法应该是安装系统时设置交换区 1 使用分区 在安装OS时划分出专门的交换分区 空间大小要事先规划好 启动系统时自
  • 【事业单位笔试】zrzyb信息中心-社会招聘-笔试记录

    写在前面的话 虽然说本人在21年校招时有北京银行 农银金科 中信银行研发 京东发 邮储银行 中软 郑州铁路局等的offer 奈何个人原因还是选择了有北京户口的现在的工作单位 虽然只有两年 但也是时候准备考虑一下今后的发展了 感谢大家支持 我
  • 电机控制进阶——PID速度控制

    之前的几篇文章 电机控制基础篇 介绍的电机编码器原理 定时器输出PWM 定时器编码器模式测速等 本篇在前几篇的基础上 继续来学习电机控制 通过PID算法 来进行电机的速度控制 并进行实验测试 PID基础 PID即 Proportional
  • 海外新冠疫情 API数据接口

    海外新冠疫情 计费模式 免费额度 点数单价 每日限制 会员免费 100次 免费 10000次 更新时间 2022 07 11 02 51 15接口状态 正常 返回海外新冠数据 请求地址 HTTPGET POST https www mait
  • 毕业设计 嵌入式 单片机智能路灯

    文章目录 1 简介 2 绪论 2 1 项目背景 2 2 需求分析 3 系统设计 3 1 功能设计 3 1 1 系统角色分析 3 1 2 开发环境 3 2 总体设计 3 3 硬件部分 3 3 1 整体架构 3 3 2 stm32部分 3 3
  • 短视频去水印小程序源码 附带详细搭建教程

    开发语言 PHP 数据库 MySQL 无需授权 文件完全开源 可以二次开发 后台可以自己添加自己的接口 压缩包里包含一个免费 接口 不敢保证能一直使用 下载地址
  • 慌的一批!妹子一个rm -rf把公司服务器数据删没了...

    来源 https www cnblogs com zhouyu629 p 3734494 html 作者 zhouyu 责编 linse 经历了两天不懈努力 终于恢复了一次误操作删除的生产服务器数据 对本次事故过程和解决办法记录在此 警醒自
  • mysql字符串函数

    mysql的字符串函数 对于针对字符串位置的操作 第一个位置被标记为1 1 ASCII str 返回字符串str的最左面字符的ASCII代码值 如果 str是空字符串 返回 0 如果 str是 NULL 返回 NULL mysql gt s
  • 解决bootstrapTable动态添加的一行不会被$(“#bootstrap-table“).bootstrapTable(‘getSelections‘)获取到

    背景 业务需要bootstrapTable表格选中某一行数据 并将按钮表示为可点击状态 当选中多行或没选中数据时设置为不可点击状态 解决 a class btn btn success i class fa fa plus i 所选行下方添
  • (23)[CS13] LSTM Generating:Generating Sequences With Recurrent Neural Networks

    计划完成深度学习入门的126篇论文第二十三篇 UT的Alex Graves等领导研究通过LSTM来生成不同风格的文本和手写体handwriting ABSTRACT INTRODUCTION 摘要 本文通过对一个数据点的预测 说明了LSTM
  • Anaconda(Miniconda) 安装(Windows下)

    下载地址 https www anaconda com download or https conda io miniconda html 下载之后直接安装 可能需要设置路径 之后在cmd中输入 conda list 查看安装内容 如需要更
  • 测试用例的设计方法(七种)详细分析

    1 需求分析法 需求分析法 按照需求 设计测试用例 其中的需求分为两种 用户需求 软件需求 1 验证需求是否正确 完整 无二义性 并且逻辑一致 2 要从 黑盒 的角度 设计出充分并且必要的测试集 以保证设计和代码都能完全符合需求 2 等价类
  • 2023华为OD机试真题【数字游戏】

    题目内容 小明玩一个游戏 系统发1 n张牌 每张牌上有一个整数 第一张给小明 后n张按照发牌顺序排成连续的一行 需要小明判断 后n张牌中 是否存在连续的若干张牌 其和可以整除小明手中牌上的数字 输入描述 输入数据有多组 每组输入数据有两行
  • vue中native的用法

    vue中native的用法 官方解释 你可能想在某个组件的根元素上监听一个原生事件 可以使用 v on 的修饰符 native 举例 比如a标签可以直接绑定原生事件 如果你通过自定义封装了button标签 命名mao button 这时候绑
  • js 取数组对象的交集内容

    一 简单数组 两数组a 1 2 3 b 2 4 5 求a b数组 var a 1 2 3 var b 2 4 5 并集 var union a concat b filter function n return a indexOf n 1