任何数和自己做异或运算,结果为 0,即 a⊕a=0a⊕a=0 。
任何数和 0 做异或运算,结果还是自己,即 a⊕0=⊕a⊕0=⊕。
异或运算中,满足交换律和结合律,也就是a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=ba⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b。
案例,给一个数组找到只出现一次的数字
var singleNumber = function (nums) {
let num = 0;
for (let i = 0; i < nums.length; i++) {
num ^= nums[i]
}
return num
};