如何在 JavaScript 中比较数组?
在本教程中,我们将学习如何使用各种方法在 JavaScript 中比较数组。我们将检查一个数组中存在的每个元素是否等于另一个数组的对应元素。如果两个数组相同,则返回 true。否则,我们将返回 false。
比较两个数组时,我们不能使用"=="或"==="运算符,因为它将比较两个数组指向的内存块的地址。因此,我们将得到错误的结果。
现在,我们将看到在 JavaScript 中比较数组的方法。
使用 for 循环
在此方法中,我们将检查给定数组的大小是否相同。如果数组的大小不相等,那么我们可以直接说数组不相同或相等。如果大小相等,我们将使用一个 for 循环进一步检查数组的所有元素。每当我们得到任何与另一个数组的元素不匹配的元素时,我们将返回 false。
语法
用户可以按照以下语法使用 for 循环比较数组。
// check length of the array if (array1.length != array2.length) { // array is not same } else { // compare all elements of array one by one for (let i = 0; i < a1.length; i++) { if (a1[i] != a2[i]) { return false; } }
示例
在此示例中,我们有四个数组 x[ ]、y[ ]、w[ ] 和 z[ ]。我们将创建一个函数来比较数组。我们将两个数组传递给该函数,如果两个数组相同,则返回 true;如果两个数组具有不同的元素,则返回 false。
<html> <head> </head> <body> <h2>Compare arrays in JavaScript</h2> <h4>Comparing two arrays using <i>for loop</i>.</h4> <p id="div1"> </p> <p id="div2"> </p> <script> function compare_arrays(a1, a2) { if (a1.length != a2.length) { return false; } else { for (let i = 0; i < a1.length; i++) { if (a1[i] != a2[i]) { return false; } } return true; } } const x = [2, 4, 7, 9]; const y = [2, 4, 7, 9]; const w = [2, 3, 5, 7]; const z = [2, 4, 3, 1]; let Div1 = document.getElementById("div1"); let Div2 = document.getElementById("div2"); const ans1 = compare_arrays(x, y); const ans2 = compare_arrays(w, z); if (ans1) { Div1.innerHTML = "elements of array x and y are same." } else { Div1.innerHTML = "elements of array x and y are different." } if (ans2) { Div2.innerHTML = "elements of array w and z are same." } else { Div2.innerHTML = "elements of array w and z are different." } </script> </body> </html>
使用 JSON.stringify()
JavaScript JSON.stringify() 是一种将数组转换为 JSON 字符串的方法,然后它将使用"=="比较两个数组字符串
语法
用户可以按照以下语法使用 JSON.stringify() 方法。
const result = JSON.stringify(arr);
示例
在此示例中,我们有两个数组 x[ ] 和 y[ ]。我们将使用 JSON.stringify() 方法比较两个数组。
<html> <head> </head> <body> <h2>Compare arrays in JavaScript</h2> <h4>Comparing two arrays by <i>JSON.stringify()</i> method.</h4> <p id = "div1"></p> <script> const x = [2, 4, 7, 9]; const y = [2, 4, 7, 9]; let Div1 = document.getElementById("div1"); if( JSON.stringify(x) == JSON.stringify(y) ){ Div1.innerHTML="elements of arrays are same." } else{ Div1.innerHTML="elements of arrays are different." } </script> </body> </html>
通过使用 JSON.stringify() 方法,我们可以在 JavaScript 中比较两个数组。
在本教程中,我们学习了如何在 JavaScript 中比较数组。在一种方法中,我们使用 for 循环,而在第二种方法中,我们使用 JSON.stringify() JavaScript 方法来比较数组。