两个数组相等的JavaScript

我们需要编写一个JavaScript函数,该函数接受两个Numbers数组,例如first和second,并检查它们的相等性。

我们的情况下的平等将取决于以下两个条件之一:

  • 如果数组包含相同的元素,而与它们的顺序无关,则它们相等。

  • 如果第一个数组和第二个数组的所有元素的总和相等。

例如-

[3, 5, 6, 7, 7] and [7, 5, 3, 7, 6] are equal arrays

[1, 2, 3, 1, 2] and [7, 2] are also equal arrays

but [3, 4, 2, 5] and [2, 3, 1, 4] are not equal

让我们为该函数编写代码-

示例

const first = [3, 5, 6, 7, 7];

const second = [7, 5, 3, 7, 6];

const isEqual = (first, second) => {

   const sumFirst = first.reduce((acc, val) => acc+val);

   const sumSecond = second.reduce((acc, val) => acc+val);

   if(sumFirst === sumSecond){

      return true;

   };

   //如果您不想突变原始数组,请执行此操作,否则请使用

   first and second

   const firstCopy = first.slice();

   const secondCopy = second.slice();

   for(let i = 0; i < firstCopy.length; i++){

      const ind = secondCopy.indexOf(firstCopy[i]);

      if(ind === -1){

         return false;

      };

      secondCopy.splice(ind, 1);

   };

   return true;

};

console.log(isEqual(first, second));

输出结果

控制台中的输出将为-

true

以上是 两个数组相等的JavaScript 的全部内容, 来源链接: utcz.com/z/338193.html

回到顶部