美文网首页
数组对象的一些常用方法

数组对象的一些常用方法

作者: Davhoon | 来源:发表于2023-08-28 15:19 被阅读0次

我们在处理数据的时候经常会遇到数组对象之间的处理,根据我遇到的常用的进行总结,处理的是数组对象,而非数组。

数组对象

两个数组对象根据ID取交集

let a=[
  {id:1,a:123,b:1234},
  {id:2,a:123,b:1234}
];
let b=[
  {id:1,a:123,b:1234},
  {id:2,a:123,b:1234},
  {id:3,a:123,b:1234},
  {id:4,a:123,b:1234}
];
//获取交集并返回新的数组
let arr = [...b].filter(x => [...a].some(y => y.id === x.id));
console.log('arr',arr)
//输出
[{"id":1,"a":123,"b":1234},{"id":2,"a":123,"b":1234}]

两个数组对象根据ID取差集

let a=[
  {id:1,a:123,b:1234},
  {id:2,a:123,b:1234}
];
let b=[
  {id:1,a:123,b:1234},
  {id:2,a:123,b:1234},
  {id:3,a:123,b:1234},
  {id:4,a:123,b:1234}
];
let arr = [...b].filter(x => [...a].every(y => y.id !== x.id));
console.log('arr',arr);

数组

取并集

let a=new Set([1,2,3,4,5]);
let b=new Set([1,2,3,4,5,6,7,8,9]);
let arr = Array.from(new Set([...a, ...b]));
console.log('arr',arr);

取交集

let a=new Set([1,2,3,4,5]);
let b=new Set([1,2,3,4,5,6,7,8,9]);
let arr = Array.from(new Set([...b].filter(x => a.has(x))));

取差集

let a=new Set([1,2,3,4,5]);
let b=new Set([1,2,3,4,5,6,7,8,9]);
let arr = Array.from(new Set([...b].filter(x => !a.has(x))));
console.log('arr',arr);

这些方法就可以直接拿去用了

相关文章

  • Array数组循环全解1

    常用的11种数组遍历方法: 1、for循环语句2、forEach数组对象内置方法3、map数组对象内置方法4、fi...

  • # 数组常用属性和方法总结

    数组常用属性和方法总结 数组也是对象,数组有对象的所有方法 1. 数组属性(2个主要属性) length -> 万...

  • 数组去重

    分类 非对象数组去重 对象数组去重 分类一 --- 非对象数组去重 方法一: set(es6常用) 方法二:red...

  • js 常用方法总结

    字符串的常用属性,概览 Array对象的方法; 详细js数组常用方法大全

  • JS数组常用方法大全

    数组的方法有数组原型方法,也有从object对象继承来的方法,下面就介绍一下数组常用方法:join() --...

  • js与ES6数组常用方法区别

    js数组 数组的概念及其定义方式字面量的形式 构造函数 数组的常用方法(依赖于数组使用)获取方法:对象.方法( )...

  • 数组对象常用方法

    目录 文档地址: http://www.runoob.com/jsref/jsref-obj-array.html...

  • 数组 定时器

    数组: 面向对象的方式创建: 直接创建: 数组的常用方法: 数组去重: 字符串处理的方法: var a =char...

  • JavaScript 基础

    数据类型: 日期对象: 运算符: 定时器: 字符串常用方法: 数组常用方法: Math常用方法: i的问题(即执行...

  • JS数组字符串方法整理

    回顾数组字符串方法 数组对象方法 转换数组(将数组转换成一些其他形式): valueOf() 返回数组对象本身,和...

网友评论

      本文标题:数组对象的一些常用方法

      本文链接:https://www.haomeiwen.com/subject/vpvgmdtx.html