如何过滤这个数组?

`let prearr = ['1001','1002,'1003','1004'];
let nextarr = ['1002,'1003','1004','1005'];

求这个两个数组不一样的地方,最终结果 result = ['1002','1005']`

阅读 2.2k
3 个回答
let prearr = ['1001', '1002', '1003', '1004'];
let nextarr = ['1002', '1003', '1004', '1005'];

const diff = (arrA, arrB) =>
  Array.from(new Set(arrA.concat(arrB))).filter(e => !(arrA.includes(e) && arrB.includes(e)));

const result = diff(prearr, nextarr);
let diff1 = prearr.filter(item => !nextarr.includes(item))
let diff2 = nextarr.filter(item => !prearr.includes(item))
let result = diff1.concat(diff2)
新手上路,请多包涵

const result = prearr.concat(nextarr).filter(((m,n) => t => !m.has(t) || !n.has(t))(new Set(prearr), new Set(nextarr)))

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题