Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

2つの配列の同等性JavaScript


1番目と2番目の2つの数値配列を取り込んで、それらが等しいかどうかをチェックするJavaScript関数を作成する必要があります。

私たちの場合の平等は、これら2つの条件のいずれかによって決定されます-

  • 順序に関係なく同じ要素が含まれている場合、配列は等しくなります。

  • 最初の配列と2番目の配列のすべての要素の合計が等しい場合。

例-

[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;
   };
   // do this if you dont want to mutate the original arrays otherwise use
   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

  1. JavaScriptの緩い平等

    緩い等式演算子「==」を使用すると、最初に値を共通の型に変換してから、それらの間の等式をチェックすることにより、2つ以上のオペランドを比較できます。 以下は、JavaScriptで緩い等式を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-sc

  2. JavaScriptで2つの配列を乗算する方法は?

    以下は、JavaScriptで2つの配列を乗算するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>   &