如何找到一个在JavaScript数组中出现奇数次的整数?
我们给了一个整数数组,并告诉我们所有元素出现一个偶数次,除了单个元素。我们的工作是在单次迭代中找到该元素。
让它成为样本数组-
[1, 4, 3, 4, 2, 3, 2, 7, 8, 8, 9, 7, 9]
在尝试此问题之前,我们需要了解一些按位XOR(^)运算符。
如果两个操作数彼此互补,则XOR运算符返回TRUE;如果两个操作数相同,则返回FALSE。
TRORTABLEOFXOR()运算符-
0 ^ 0 → 0 0 ^ 1 → 1 1 ^ 0 → 1 1 ^ 1 → 0
如果我们仔细检查这种行为,我们会注意到,当XOR运算符用于完全相同的值(例如12^12)时,它总是返回FALSE或0,换句话说,它可以用于否定使偶数出现的值的时间。这正是我们想要的。
因此,在下面的代码中编写相同的内容-
示例
const sampleArray = [1, 4, 3, 4, 2, 3, 2, 7, 8, 8, 9, 7, 9]; console.log(sampleArray.reduce((a, b) => a ^ b));
它遍历每个元素,并保持否定外观均匀的元素,并返回唯一出现奇数次的元素。
输出结果
控制台输出将是-
1
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短