typescript 有人知道这个打字脚本代码是如何工作的吗?[closed]

h7wcgrx3  于 2022-12-14  发布在  TypeScript
关注(0)|答案(1)|浏览(116)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

5天前关闭。
Improve this question
我在练习数组函数,这段代码返回的值在数组中是唯一的,我的问题是,它是如何工作的?例如,我有[2,1,2,1,3],这段代码将返回3。

function singleNumber(nums: number[]): number { 
    return nums.reduce((prev, curr) => prev ^ curr);
};

我只需要解释一下这个密码。

wkyowqbh

wkyowqbh1#

0是二进制的00
1是01作为二进制
2是二进制的10
3是二进制的11

第一次迭代

前一个= 2; Curr = 1;
2 ^ 1 = 3
10异或01 = 11

第二次迭代

前一个= 3; Curr = 2;
3 ^ 2 = 1
11异或10 = 01

第三次迭代

前一个= 1; Curr = 1;
1 ^ 1 = 0
01异或01 = 00

最终迭代

前一个= 0; Curr = 3;
0 ^ 3 = 3
00异或11 = 11

相关问题