如何在 JavaScript 数组中找到出现奇数次的整数?
javascriptweb developmentobject oriented programming更新于 2025/9/25 10:52:17
给定一个整数数组,并告知除单个元素外,所有元素出现的次数均为偶数。我们的任务是在一次迭代中找到该元素。
让其成为示例数组 −
[1, 4, 3, 4, 2, 3, 2, 7, 8, 8, 9, 7, 9]
在尝试解决这个问题之前,我们需要了解一些按位 XOR (^) 运算符。
如果两个操作数彼此互补,则 XOR 运算符返回 TRUE,如果两个操作数相同,则返回 FALSE。
XOR () 运算符 − 的真值表
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
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

