首页 > 其他分享 >ES6两个数组进行比较

ES6两个数组进行比较

时间:2024-08-30 09:25:34浏览次数:15  
标签:ES6 const array2 array1 includes filter item 数组 比较

在ES6中,可以使用扩展运算符...Array.prototype.includes方法来比较两个数组,并找出它们的不同元素。

const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];

// 找出在array1中而不在array2中的元素
const diff1 = array1.filter(item => !array2.includes(item));

// 找出在array2中而不在array1中的元素
const diff2 = array2.filter(item => !array1.includes(item));

console.log(diff1); // [1, 2]
console.log(diff2); // [6, 7]

如果数组中可能包含重复元素,并且希望得到的差异数组不包含重复项,可以在filter之后使用Set来去重:

const array1 = [1, 2, 2, 3, 4, 5];
const array2 = [3, 4, 4, 5, 6, 7];

const diff1 = [...new Set(array1.filter(item => !array2.includes(item)))];
const diff2 = [...new Set(array2.filter(item => !array1.includes(item)))];

console.log(diff1); // [1, 2]
console.log(diff2); // [6, 7]
以上代码展示了如何找出两个数组之间的差异。如果需要更复杂的比较逻辑,例如比较数组中对象的特定属性,可能需要使用更复杂的代码来实现。

标签:ES6,const,array2,array1,includes,filter,item,数组,比较
From: https://www.cnblogs.com/snowhite/p/18388000

相关文章

  • C语言详细笔记--构造数据类型(结构体数组)
    目录一、结构体数组的定义二、结构体数组的初始化三、结构体数组的引用一、结构体数组的定义structstuscoretype{intstuid;intscore[3];doubleaverage;};structstuscoretypestu[3];上面语句定义了一个名为stu的数组,数组有三个元素,每个元素的类......
  • 力扣238.除自身以外数组的乘积
    classSolution{publicint[]productExceptSelf(int[]nums){//获取数组长度intlength=nums.length;//创建一个新数组,用于存储结果int[]answer=newint[length];//初始化第一个元素为1,因为乘积不包括自身......
  • 仅利用一维数组实现等值线图效果(附完整代码)
    当我们有三个一维数组x,y,i,其中i表示强度(或者其它),用颜色深浅表示。现在我们需要实现以下需求:使用一维数组x、y、i,其中i用于表示颜色深浅。在三维坐标系中,图像位于指定的z轴位置(如z=230)。生成的图像效果类似二维等值线图(ContourPlot)。 那么效果类似怎样的呢?如下图所示......
  • 代码随想录算法训练营,29日 | 704. 二分查找,27. 移除元素,977.有序数组的平方,209.长度最
    数组基础文档讲解︰代码随想录(programmercarl.com)1.连续空间、相同类型元素2.元素只能覆盖3.二维数组的地址连续吗(C++连续,Java不连续)704.二分查找题目链接:704.二分查找文档讲解︰代码随想录(programmercarl.com)视频讲解︰二分查找日期:2024-08-29思路:第一反应是想到二分查......
  • 求数组的最大值-Day2
    求数组[12,1,2,3000,130,31,12,200,500]最大值:声明并保存一个最大元素的变量max默认max取数组第一个元素遍历数组,将每个元素与max做大小比较如果该元素大于max,将这个元素存到max里,否则下一轮最后输出maxletarr=[12,1,2,3000,130,31,12,200,500]l......
  • 缓存解决方案。Redis 和 Amazon ElastiCache 比较
        欢迎来到雲闪世界。Redis和AmazonElastiCache等缓存解决方案是通过将频繁访问的数据存储在内存中来提高应用程序性能的热门选择。让我们从实施简单性、性能、成本和维护方面对它们进行比较。实施简单设置Redis需要在基础设施或云实例上安装和配置Redis服......
  • c++数组挑战-字符环
    题目描述:有两个由字符构成的环。请写一个程序,计算这两个字符环上最长连续公共字符串的长度。例如,字符串 ABCEFAGADEGKABUVKLM 的首尾连在一起,构成一个环;字符串 MADJKLUVKL 的首尾连在一起,构成一个另一个环; UVKLMA 是这两个环的一个连续公共字符串。时间限制:1 s内存限......
  • 浮点数之间的比较,基本运算这些究竟是怎么实现的
    科学计算当中会用到不少浮点数的操作,这些浮点数可能是16位,32位,64位,80位甚至是128位。开源项目SoftFloat提供了一个高效的浮点运算实现,可以在没有硬件支持的情况下,高效模拟浮点数的各种操作。那么,浮点数之间的比较,基本运算这些究竟是怎么实现的呢,可以拿32位浮点数作为例子。这是3......
  • 代码随想录算法day2-数组2
    题目1209.长度最小的子数组给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于target的长度最小的子数组[numsl,numsl+1,...,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0。示例1:输入:target=7,nums=[2,......
  • C语言涉及问题(文件IO与数组和指针)
    一、文件IO相关1、标准出错、输入、输出三者的缓冲机制是什么?标准出错(stderr):属于不缓冲机制,数据直接写入设备标准输入(stdin)和标准输出(stdout):属于行缓冲和全缓冲,行缓冲时需要用'\n'分隔,全缓冲是缓冲区满才会写入或者输出。冲刷缓冲函数:fflush();无论是如果想将全缓冲......