// xor
const list = ["a", "b", "c"]
console.log(xor(list, ["d"]))
// add => ["a", "b", "c", "d"]
console.log(xor(list, ["b"]))
// remove => ["a", "c"]
// xorBy
list = [{id: 1}, {id: 2}, {id: 3}]
console.log(xorBy(list, [{id: 4}], item => item.id));
// add => [Object {id: 1}, Object {id: 2}, Object {id: 3}, Object {id: 4}]
console.log(xorBy(list, [{id: 2}], item => item.id));
// remove => [Object {id: 1}, Object {id: 3}]