首頁  >  文章  >  web前端  >  如何使用 JavaScript 計算陣列元素的異或?

如何使用 JavaScript 計算陣列元素的異或?

WBOY
WBOY轉載
2023-09-05 14:41:011314瀏覽

我們將使用 for 迴圈來迭代陣列。我們將初始化一個名為「result」的變數 與數組中第一個元素的值。對於數組中的每個後續元素, 我們將使用 XOR 運算子來更新該元素的「結果」值。這 該過程將繼續,直到數組中的所有元素都已處理完畢,結果是 數組中所有元素的最終異或值。

我們先來了解什麼是異或。我們還將了解數組上的異或運算是如何運作的。

數組異或

  • XOR(異或)運算是一種位元運算,比較兩個二進位數字,如果不同則傳回 1,如果相同則傳回 0。

  • 陣列上的 XOR 運算是一種使用 XOR 運算組合陣列中所有元素的值的方法。

  • 在大小為n的陣列A中,所有元素的異或可以使用以下公式計算:A[0]A[1]A[2]…A[n-1]。 p>

  • 對陣列的所有元素進行異或,得到在陣列中只出現一次的數字。

  • 異或運算在陣列上的一個重要應用是尋找陣列中僅出現一次而所有其他元素出現兩次的單一數字。

方法

這是一種使用 JavaScript 計算元素數組的 XOR 的一種方法 -

function calculateXOR(arr) {
   let result = arr[0];
   for (let i = 1; i < arr.length; i++) {
      result = result ^ arr[i];
   }
   return result;
}

您可以透過傳入一個元素數組作為參數來呼叫此函數,如下所示 -

let arr = [1, 2, 3, 4, 5];
let xor = calculateXOR(arr);
console.log(xor);

這將輸出數組中所有元素的異或。

注意 - XOR 運算是 JavaScript 中的位元運算,它將第一個運算元的每一位與第二個運算元中對應的運算元進行比較。若兩個位元相同,則結果中對應位元為 0,否則為 1。

範例

以下是如何使用 JavaScript 計算陣列中所有元素的 XOR 的範例 -

function xorArray(arr) {
   let result = arr[0];
   for (let i = 1; i < arr.length; i++) {
      result = result ^ arr[i];
   }
   return result;
}
let testArray = [1, 2, 3, 4, 5];
console.log(xorArray(testArray)); 

說明

  • 函數 xorArray(arr) 接受一個陣列作為參數。

  • 變數 result 被初始化為陣列的第一個元素。

  • for 迴圈用於從第二個元素開始迭代數組。

  • 每次迭代時,都會使用 XOR (^) 運算子更新結果變數。 XOR 運算子將第一個運算元的每個位元與第二個運算元的對應位元進行比較。若位相同,則對應的結果位為0。若位不同,則對應的結果位為1。

  • for迴圈後結果的最終值為數組中所有元素的異或。

  • 函數傳回最終結果。

  • 定義了一個測試數組,並使用該測試數組作為參數來呼叫函數。該函數的輸出被記錄到控制台。

輸出

如何使用 JavaScript 计算数组元素的异或?

以上是如何使用 JavaScript 計算陣列元素的異或?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除