首页 > 其他分享 >js方法判断两个数组的交集、并集和超集

js方法判断两个数组的交集、并集和超集

时间:2023-05-09 17:22:19浏览次数:45  
标签:return 数组 并集 超集 js arr2 arr1 result

下面是JS实现数组交集、并集和超集的方法:

1. 交集:即两个数组中相同的元素。可以通过遍历一个数组,判断另一个数组是否包含该元素来确定。

function intersection(arr1, arr2) {
  const result = [];
  for (let i = 0; i < arr1.length; i++) {
    if (arr2.includes(arr1[i])) {
      result.push(arr1[i]);
    }
  }
  return result;
}

2. 并集:即两个数组中所有的不重复元素。可以先合并两个数组,然后去除重复项得到结果。

function union(arr1, arr2) {
  const result = [...arr1, ...arr2];
  return Array.from(new Set(result));
}

3. 超集:即一个数组包含了另一个数组的所有元素。可以先判断两个数组的长度,如果第一个数组比第二个数组长,则不可能为超集。然后遍历第二个数组,判断每个元素是否都在第一个数组中出现过。

function superset(arr1, arr2) {
  if (arr1.length < arr2.length) {
    return false;
  }
  for (let i = 0; i < arr2.length; i++) {
    if (!arr1.includes(arr2[i])) {
      return false;
    }
  }
  return true;
}

 

标签:return,数组,并集,超集,js,arr2,arr1,result
From: https://www.cnblogs.com/baoxinyu/p/17385702.html

相关文章

  • JS垃圾回收机制
    JS垃圾回收机制主要分为对栈和堆两种存储数据的回收:一、栈中数据回收1) 首先我们需要了解一个概念ESP指针:是指针寄存器的一种,用于堆栈指针,主要用来标记当前活动位置,简单就是标记当前代码执行位置2) 当我们执行一个函数时除了会有存储的变量外,还会有一个执行上下文;此......
  • 《nodejs跨栏》vue篇——vue简介
    Vue读音读作viewVue文件结构参考链接:https://www.runoob.com/vue2/vue-directory-structure.html其中App.vue代码如下:点击查看代码<!--展示模板--><template><divid="app"><imgdecoding="async"src="./assets/logo.png">......
  • vue使用video.js库,引入语言脚本的方式
    第一种import'video.js/dist/video-js.css'importvideojsfrom"video.js";window.videojs=videojs;require('video.js/dist/lang/zh-CN');第二种import'video.js/dist/video-js.css'importvideojsfrom"video.js&q......
  • 《nodejs跨栏》问题篇
    报错python.EXE参考链接:https://blog.csdn.net/qq_43753724/article/details/122241983报错内容如下:gypERRstackError:Commandfailed:D:\python\python.EXE-cimportsys;print解决方法:设置低版本python//设置confignpmconfigsetpythonD:\Python27......
  • Redis查询之RediSearch和RedisJSON讲解
    来源于:https://www.cnblogs.com/jingzh/p/17033403.html目录1Redis查询1.1RedisMod介绍1.2安装Redis1.3RediSearch+RedisJSON安装1.3.1下载安装1.3.2修改配置1.4RedisJSON操作1.4.1基本操作1.4.1.1保存操作JSON.SET1.4.1.2读取操作JSON.GET1.4.1.......
  • pdfjs分片
    分片加载的实现是基于HTTP-RANGE的,即服务端的文件接口如果实现了HTTP-RANGE,pdf.js会默认去执行分片加载的策略。 也就是第一次请求时,服务器返回200,同时返回响应头Accept-RangesAccept-Ranges:bytes(表明服务器支持分片加载)Content-Length:408244(表明该文件的所有字......
  • MySQL之json数据操作
    来源于:转载于:https://blog.csdn.net/asd529735325/article/details/107205214/目录1MySQL之JSON数据1.1建表添加数据1.2基础查询操作1.2.1一般json查询1.2.2多个条件查询1.2.3json中多个字段关系查询1.2.4关联表查询1.3JSON函数操作1.3.1官方json函数1......
  • js获取url中的参数
    functiongetUrlParam(strUrl){varurl,pos,urlStr,para;url=strUrl||window.location.href;pos=url.indexOf("?")if(pos<=0)return;url=url.substring(pos+1);varparams=url.split("&");......
  • 纯JS实现的Popup框
    以下是一个纯JS实现的Popup框:HTML代码:```html<!DOCTYPE html><html><head>  <meta charset="UTF-8">  <title>Popup框</title>  <style>    #overlay {      position: fixed;      top: 0;      left: 0;      width: 100%;     ......
  • 什么是jsonp
    jsonp是前端一种用来解决网站跨域的技术,利用script标签不受同源策略影响的特性引入一个非同源的js文件,并定义一个回调函数来接收数据,这样就可以实现跨域获取数据了,例如:现在有一个链接返回的数据是这样的:cb({"name":"swk","age":18})这是一个标准的jsonp格......