hello 大家好,今天带你了解一个快速查找一个数组中不重复的元素
1.我先带大家了解一下异或运算中的快速比较两个值 ^
异或的3个特点:
(1) 0^0=0,0^1=1 0异或任何数=任何数
(2) 1^0=1,1^1=0 1异或任何数-任何数取反
(3) 任何数异或自己=把自己置0 (4) 将数据转换为二进制进行比较
0 ^ 1 = 1 输出: 1
1 ^ 1 = 0 输出: 0
上题: var num = [1,1,2,2,3,3,4] 求数组中不重复的元素,并返回它
function one(s){ //形参,用于接收我们要查找的数组
let a = 0 //表示初始值
for(let i in s){
a ^= s[i]
}
return a
}
var num = [1,1,2,2,3,3,4]
console.log(one(num)) //输出4