Diff Two Arrays

//自己
function diffArray(arr1, arr2) {
  return arr1.filter(item=> arr2.includes(item)===false)
 .concat(arr2.filter(item=> arr1.includes(item)===false))//(●'◡'●)对齐了
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);

//这个格式好些,更清晰的体现同一层级、并列的关系
function diffArray(arr1, arr2) {
  return [...arr1.filter(item=> arr2.includes(item)===false),
          ...arr2.filter(item=> arr1.includes(item)===false)]
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
//别人家的孩子
function diffArray(arr1, arr2) {
  return arr1
    .concat(arr2)//合并,在任意子集中不存在就是我们要的数 (我为什么说我们?)
    .filter(item => !arr1.includes(item) || !arr2.includes(item));
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);

function diffArray(arr1, arr2) {
  return [...diff(arr1, arr2), ...diff(arr2, arr1)];//这里调用函数

  function diff(a, b) {
    return a.filter(item => b.indexOf(item) === -1);
  }
}