跳过正文
  1. 存档/

算法

83 字·1 分钟· loading · loading · ·
算法
目录

对称差计算器,支持两个及以上的数组
#

// 对称差计算器,支持两个及以上的数组
function sym(...a) {
    let args = []
    while(a.length!=1) {
      let c = symmetricDifference(a[0],a[1])
      a.shift()
      a[0]=c
    }
    console.log(a);
    const uniqueArray = [...new Set(a[0])];
    args=uniqueArray
    console.log(args);
    return args;
}
// 计算两个数组的对称差
function symmetricDifference(arr1, arr2) {
  let diff = [];
  for (let i = 0; i < arr1.length; i++) {
      if (!arr2.includes(arr1[i])) {
          diff.push(arr1[i]);
      }
  }
  for (let i = 0; i < arr2.length; i++) {
      if (!arr1.includes(arr2[i])) {
          diff.push(arr2[i]);
      }
  }
  return diff;
}
 
sym([1, 2, 3], [5, 2, 1, 4],[1,2,5]);
泡饭25
作者
泡饭25
你好,很高兴认识你!

comments powered by Disqus