创建文件 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());