JS求多个数组的重复数据

如果想要求多个数组中的重复数据,可以使用以下方法:

  1. 定义一个函数,接收多个数组作为参数;
  2. 对于每个数组,遍历其中的每一个元素,判断该元素在其他数组中是否也存在;
  3. 如果其他数组中也存在该元素,则说明该元素是多个数组中的重复数据,将其添加到结果数组中;
  4. 返回结果数组。

代码如下:

function findDuplicates(...arrays) {
  const duplicates = [];

  for (const array1 of arrays) {
    for (const item of array1) {
      let isDuplicate = true;

      for (const array2 of arrays) {
        if (array1 !== array2 && !array2.includes(item)) {
          isDuplicate = false;
          break;
        }
      }

      if (isDuplicate && !duplicates.includes(item)) {
        duplicates.push(item);
      }
    }
  }

  return duplicates;
}

使用示例1:

const arr1 = [1, 2, 3, 4];
const arr2 = [3, 4, 5, 6];
const arr3 = [4, 5, 6, 7];
const result = findDuplicates(arr1, arr2, arr3);

console.log(result); // [4]

使用示例2:

const arr1 = ["apple", "banana", "orange", "pear"];
const arr2 = ["banana", "mango", "peach", "pear"];
const arr3 = ["pear", "orange", "grape", "apple"];
const result = findDuplicates(arr1, arr2, arr3);

console.log(result); // ["pear"]

在示例1中,数组arr1、arr2、arr3中,只有数字4是重复的元素,因此结果为[4]。

在示例2中,数组arr1、arr2、arr3中,只有字符串"pear"是重复的元素,因此结果为["pear"]。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS求多个数组的重复数据 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • java复制文件和java移动文件的示例分享

    下面是Java复制文件和移动文件的示例攻略: 复制文件 1. 使用Java NIO库 Java NIO库提供了Channel和ByteBuffer两个类来进行文件复制操作。以下是一个简单的示例: import java.io.FileInputStream; import java.io.FileOutputStream; import java.nio.B…

    Java 2023年5月20日
    00
  • JavaScript学习笔记整理_setTimeout的应用

    首先让我们来详细讲解“JavaScript学习笔记整理_setTimeout的应用”这个主题的完整攻略。 简介 setTimeout() 是 JavaScript 的一个函数,它可以在一定时间后执行指定的函数或代码。通过 setTimeout() 函数,我们可以实现倒计时、延迟显示等功能。 语法 setTimeout() 函数的语法如下: setTimeou…

    Java 2023年6月15日
    00
  • Spring Security基于数据库实现认证过程解析

    下面我将为您讲解Spring Security基于数据库实现认证过程的详细攻略,包含以下几个方面: 理解Spring Security的基本概念 使用Spring Security的主要步骤和流程 基于数据库实现Spring Security的认证过程 1. 理解Spring Security的基本概念 Spring Security是一个被广泛使用的Jav…

    Java 2023年5月20日
    00
  • 基于编译虚拟机jvm—openjdk的编译详解

    基于编译虚拟机jvm—openjdk的编译详解 在这篇攻略中,我们将通过使用编译虚拟机jvm-openjdk来编译代码。下面是详细的步骤: 步骤一:安装OpenJDK 在使用OpenJDK编译代码之前,我们需要先安装它。在Linux系统中,我们可以通过以下命令来安装OpenJDK: sudo apt-get install default-jdk 在Wind…

    Java 2023年5月26日
    00
  • 新手入门Jvm–jvm概览

    新手入门Jvm–JVM概览 什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,是Java程序运行的环境。Java程序在运行时,首先由Java编译器编译成字节码(bytecode),然后由JVM解释执行字节码。JVM的主要功能是解释执行字节码,并在运行时提供一系列的服务(如垃圾回收、动态加载、异常处理)。JVM是一个相对…

    Java 2023年5月19日
    00
  • Spring Security将用户数据存储到数据库的方法

    Spring Security是Spring Framework的一个模块,用于提供身份验证、授权、攻击防护等安全相关功能。Spring Security支持多种存储用户数据的方式,包括内存、JDBC、LDAP等,其中存储到数据库是最常用的方式之一。 下面给出Spring Security将用户数据存储到数据库的完整攻略,主要包含以下步骤: 1. 引入Spr…

    Java 2023年5月20日
    00
  • Java 随机取字符串的工具类

    接下来我将为你讲解如何实现“Java 随机取字符串的工具类”,具体步骤如下: 1. 定义工具类 首先,在Java项目中,你需要定义一个名为StringRandomUtils的工具类,该类的作用是提供随机字符串相关的方法。 public class StringRandomUtils { } 2. 实现随机生成字符串的方法 在定义完工具类之后,你需要实现随机生…

    Java 2023年5月27日
    00
  • 博德之门2:加强版怎么修改存档 具体方法步骤详解

    下面是博德之门2:加强版怎么修改存档的具体方法步骤详解。 步骤一:备份存档 在进行存档修改操作之前,请先备份您的存档。这可以帮助您在修改出现问题时恢复到之前的存档状态。 步骤二:下载存档编辑器 下载名为“GIBBED.DIVINITY2.SAVEEDITO”的存档编辑器,该编辑器可以供玩家修改存档。您可以通过搜索引擎搜索并下载该编辑器。 步骤三:打开存档编辑…

    Java 2023年6月16日
    00
合作推广
合作推广
分享本页
返回顶部