在 JavaScript 中如何知道两个数组包含相同的值?


假设以下为我们的数组 -

var firstArray=[100,200,400];
var secondArray=[400,100,200];

你可以使用 sort() 方法对两个数组进行排序,并使用 for 循环来比较每个值,如下面的代码所示 -

示例

var firstArray=[100,200,400];
var secondArray=[400,100,200];
function areBothArraysEqual(firstArray, secondArray) {
   if (!Array.isArray(firstArray) || ! Array.isArray(secondArray) ||
   firstArray.length !== secondArray.length)
   return false;
   var tempFirstArray = firstArray.concat().sort();
   var tempSecondArray = secondArray.concat().sort();
   for (var i = 0; i < tempFirstArray.length; i++) {
      if (tempFirstArray[i] !== tempSecondArray[i])
         return false;
   }
   return true;
}
if(areBothArraysEqual(firstArray,secondArray))
console.log("Both are equals");
else
console.log("Both are not equals");

要运行以上程序,你需要使用以下命令 -

node fileName.js.

此处,我的文件名是 demo156.js。

输出

PS C:\Users\Amit\JavaScript-code> node demo156.js
Both are equals

更新于: 12-Sep-2020

273 次浏览

开启你的 事业

完成课程以获得认证

立即开始
广告