js数组拓展 交集 并集 差集 去重

简介: js数组拓展 交集 并集 差集 去重

创建文件 arrayExpand.js

/**
 * 获取俩个数组之间的并集
 * @param {array} array 
 * @returns array
 */
 Array.prototype.union = function (array) {
    return [...new Set([...this, ...array])];
}
/**
 * 获取俩个数组之间的交集
 * @param {array} array 
 * @returns array
 */
Array.prototype.cross = function (array) {
    return [... new Set(this)].filter((it) => array.includes(it));
}
/**
 * 获取俩个数组之间的差集
 * @param {array} array 
 * @returns array
 */
Array.prototype.diff = function (array) {
    return this.union(array).filter(it=>!this.cross(array).includes(it));
}
/**
 * 数组去重
 * @param {array} array 
 * @returns array
 */
Array.prototype.unique = function () {
    return [...new Set([...this])];
}

使用方式

import '@/utils/arrayExpand'
  const arr1 = [1, 2, 3, 4, 5];
    const arr2 = [3, 4, 5, 5, 6, 7];
    // 并集
    console.log(arr1.union(arr2));
    //交集
    console.log(arr1.cross(arr2));
    //差集
    console.log(arr1.diff(arr2));
    //去重
    console.log(arr1.unique());
相关文章
|
21天前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
|
2月前
|
前端开发 JavaScript 开发者
【前端开发者的福音】彻底改变你编码习惯的神奇数组迭代技巧——从基础到进阶,解锁 JavaScript 数组迭代的N种姿势!
【8月更文挑战第23天】在Web前端开发中,数组是JavaScript中最常用的数据结构之一,掌握高效的数组迭代方法至关重要。本文详细介绍了多种数组迭代技巧:从基础的`for`循环到ES6的`for...of`循环,再到高阶方法如`forEach`、`map`、`filter`、`reduce`及`some`/`every`等。这些方法不仅能提高代码的可读性和维护性,还能有效优化程序性能。通过具体的示例代码,帮助开发者更好地理解和运用这些迭代技术。
26 0
|
14天前
|
JavaScript
js数组去重
js数组去重
97 55
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的遍历
关于JavaScript数组遍历基础知识的文章。
30 2
JavaScript基础知识-数组的遍历
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的练习
关于JavaScript基础知识中数组操作的练习,主要介绍了如何从一个包含Person对象的数组中过滤出成年人(年龄达到18岁及以上)并将他们放入一个新的数组中。
27 1
JavaScript基础知识-数组的练习
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的常用方法
关于JavaScript基础知识-数组的常用方法。
18 1
JavaScript基础知识-数组的常用方法
|
1月前
|
JavaScript 前端开发 索引
JavaScript基础知识-数组基于索引访问
关于JavaScript数组基于索引访问的基础知识介绍。
15 1
JavaScript基础知识-数组基于索引访问
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的定义方式
本文介绍了JavaScript中数组的多种定义方式。
17 1
JavaScript基础知识-数组的定义方式
|
16天前
|
JavaScript 前端开发
js删除数组最后一个元素
js删除数组最后一个元素
|
15天前
|
JavaScript 前端开发 索引
下一篇
无影云桌面