Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript 배열에서 홀수 번 나타나는 하나의 정수를 찾는 방법은 무엇입니까?

<시간/>

정수 배열이 주어지고 단일 요소를 제외하고 모든 요소가 짝수 번 나타납니다. 우리의 임무는 단일 반복에서 해당 요소를 찾는 것입니다.

이것을 샘플 배열이라고 합시다 -

[1, 4, 3, 4, 2, 3, 2, 7, 8, 8, 9, 7, 9]

이 문제를 시도하기 전에 비트 XOR(^)연산자에 대해 조금 이해할 필요가 있습니다.

XOR 연산자는 두 피연산자가 서로 보완적이면 TRUE를 반환하고 두 피연산자가 같으면 FALSE를 반환합니다.

XOR() 연산자의 TRUTH TABLE -

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