求两个数组的并集、两个数组的交集、两个数组的差集

/**
 * 并集
 * @param {Array} arrOne 
 * @param {Array} arrTwo 
 * 
 */
function arrAndSet(arrOne,arrTwo){
    return arrOne.concat(arrTwo.filter(v=>!arrOne.includes(v)))
}

/**
 * 交集
 */
function arrInterSection(arrOne,arrTwo){
    return arrOne.filter((v)=>arrTwo.includes(v))
}


/**
 * 差集
 */
function arrDiff (arrOne,arrTwo){
    return arrOne.concat(arrTwo).filter(v=>!arrOne.includes(v) || !arrTwo.includes(v));
}

栗子:

// 并集
let a = arrAndSet([1,2,3],[1,'a','b','c'])     
console.log(a);        // [1, 2, 3, "a", "b", "c"]

// 交集
var x = arrInterSection([1,2,3,4],[22,3,,1,4])
console.log(x);    // [1,3,4]

 

你可能感兴趣的:(前端)