2つの配列の要素を比較するJavaScriptプログラム

例1:JSON.stringify()を使用して配列を比較する

// program to compare two arrays

function compareArrays(arr1, arr2) {

    // compare arrays
    const result = JSON.stringify(arr1) == JSON.stringify(arr2)

    // if result is true
    if(result) {
        console.log('The arrays have the same elements.');
    }
    else {
        console.log('The arrays have different elements.');
    }

}

const array1 = [1, 3, 5, 8];
const array2 = [1, 3, 5, 8];

compareArrays(array1, array2);

出力

The arrays have the same elements.

ザ・ JSON.stringify() メソッドは配列をJSON文字列に変換します。

JSON.stringify([1, 3, 5, 8]); // "[1,3,5,8]"

次に、2つの配列文字列を使用して比較します ==


例2:forループを使用して配列を比較する

// program to extract value as an array from an array of objects

function compareArrays(arr1, arr2) {

    // check the length
    if(arr1.length != arr2.length) {
        return false;
    } 
    else { 
        let result = false;
        
        // comparing each element of array 
        for(let i=0; i<arr1.length; i++) {

            if(arr1[i] != arr2[i]) {
                return false;
            }
            else {
                result = true;
            }

        }
        return result;
        
  }

}

const array1 = [1, 3, 5, 8];
const array2 = [1, 3, 5, 8];

const result = compareArrays(array1, array2);

// if result is true
if(result) {
    console.log('The arrays have the same elements.');
}
else {
    console.log('The arrays have different elements.');
}

出力

The arrays have the same elements.

上記のプログラムでは、

配列要素の長さは、 length プロパティ。 両方の配列の長さが異なる場合、 false が返されます。

そうしないと、

  • ザ・ for ループは、最初の配列のすべての要素を反復処理するために使用されます。
  • 各反復中に、最初の配列の要素が2番目の配列の対応する要素と比較されます。
    arr1[i] != arr2[i]
  • 両方の配列の対応する配列要素が等しくない場合、 false が返され、ループが終了します。
  • すべての要素が等しい場合、 true が返されます。

注意:配列要素にオブジェクトが含まれている場合、上記のプログラムは機能しません。

例えば、

array1 = [1, {a : 2}, 3, 5];



Hope this helps!

Source link