ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で 2 つのオブジェクトを比較して、最初のオブジェクトに 2 番目のオブジェクトと同じプロパティ値が含まれているかどうかを確認するにはどうすればよいですか?

JavaScript で 2 つのオブジェクトを比較して、最初のオブジェクトに 2 番目のオブジェクトと同じプロパティ値が含まれているかどうかを確認するにはどうすればよいですか?

王林
王林転載
2023-08-24 21:09:02980ブラウズ

如何在 JavaScript 中比较两个对象以确定第一个对象是否包含与第二个对象相同的属性值?

JavaScript では、オブジェクトにはさまざまなプロパティとメソッドが含まれます。各属性には値が含まれます。 2 つのオブジェクト間を比較するには、プロパティの値を比較する必要もあります。

ここでは、最初のオブジェクトに 2 番目のオブジェクトに含まれるすべてのプロパティが含まれているかどうかを確認し、各プロパティの値を比較する方法を学習します。

オブジェクトの属性値を 1 つずつ比較します

最も簡単な方法は、最初のオブジェクトに 2 番目のオブジェクトのすべてのプロパティが含まれているかどうかを確認することです。最初のオブジェクトにプロパティが含まれている場合、2 つの値が比較されます。

これは、このメソッドですべてのプロパティを 1 つずつ比較することを意味します。

###文法###

ユーザーは次の構文に従って、JavaScript で同じ値を持つ 2 番目のオブジェクトのすべてのプロパティが最初のオブジェクトに含まれているかどうかを確認できます。

リーリー

上記の構文では、obj1 と obj2 は、異なるプロパティを含む異なるオブジェクトです。

###例###

次の例では、obj1 オブジェクトと obj2 オブジェクトを作成します。 if-else 条件文を使用して、object2 のすべての属性値を object1 の属性値と比較します。

リーリー

forEach ループを使用して、2 番目のオブジェクトのプロパティを最初のオブジェクトのプロパティと比較します。

このアプローチでは、JavaScript forEach ループを使用して 2 番目のオブジェクトのすべてのキーを反復処理し、それらの値を最初のオブジェクトの同等のプロパティ値と照合します。配列内のオブジェクトのすべてのキーを取得できます。その後、forEach を使用してキー配列をループできます。

###文法###

ユーザーは、次の構文に従って forEach ループを使用して、最初のオブジェクトに 2 番目のオブジェクトと同等のプロパティ値が含まれているかどうかを判断できます。

リーリー

上記の構文では、student2 オブジェクトの各キーの値を Student1 オブジェクトと比較します。

###例###

次の例では、異なるプロパティを含むstudent1 オブジェクトとstudent2 オブジェクトを作成します。その後、Object.keys() メソッドを使用して、student2 オブジェクトのすべてのキーを取得します。次に、forEach を使用して Student2 オブジェクトのすべてのキーをループします。

student2 オブジェクトとstudent1 オブジェクトのキー値を比較します。 Student1 オブジェクトには year 属性が含まれていないため、出力では「オブジェクトの属性と値が一致しません」と出力されることがわかります。

リーリー

array.every() メソッドを使用する

JavaScript の array.every() メソッドは、配列の各要素が特定の条件に従っているかどうかをチェックします。たとえば、array.every() メソッドを使用して、すべての配列番号が 100 未満かどうかを確認できます。

ここでは、array.every() メソッドを使用して、object1 に同じ値を持つ object2 のすべての属性が含まれているかどうかを確認します。

###文法###

ユーザーは、次の構文に従って array.every() メソッドを使用して、最初のオブジェクトに 2 番目のオブジェクトと同じ属性値が含まれているかどうかを判断できます。

リーリー

上記の構文では、特定のプロパティの値が未定義の場合、そのプロパティはオブジェクト内に存在しません。その後、属性値を比較しました。

###例###

次の例では、table1 オブジェクトには、table1 オブジェクトと同等の値を持つすべてのプロパティが含まれています。 Object.keys() を使用して配列内のすべてのキーを取得し、配列に対してevery() メソッドを使用します。

コールバック関数をパラメーターとしてevery()メソッドに渡します。このメソッドはキーをパラメーターとして受け取ります。したがって、キーが table1 オブジェクトに存在するかどうかを確認し、存在する場合は table2 オブジェクトと同じ値が含まれているかどうかを確認しています。

table1 オブジェクトに table2 オブジェクトの各キーが含まれており、値が等しい場合は true が返され、そうでない場合は false が返されます。

リーリー

このチュートリアルでは、さまざまな方法を使用して、最初のオブジェクトに同じ値を持つ 2 番目のオブジェクトのすべてのプロパティが含まれているかどうかを確認する方法を学びました。最善の方法は、1 行のコードが含まれる array.every() メソッドを使用することです。

以上がJavaScript で 2 つのオブジェクトを比較して、最初のオブジェクトに 2 番目のオブジェクトと同じプロパティ値が含まれているかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。