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