2つのオブジェクトで一致する値を見つける方法


  1. ループと条件文を使用する方法(JavaScriptの例):
    • 2つのオブジェクトのプロパティをループで順番に比較します。
    • 一致する値が見つかったら、それを出力します。
    • 以下はJavaScriptでの例です:
function findMatchingValue(obj1, obj2) {
  for (let key in obj1) {
    if (obj2.hasOwnProperty(key)) {
      if (obj1[key] === obj2[key]) {
        return obj1[key];
      }
    }
  }
  return null; // 一致する値が見つからなかった場合
}
const obj1 = { a: 1, b: 2, c: 3 };
const obj2 = { x: 1, y: 5, z: 3 };
const matchingValue = findMatchingValue(obj1, obj2);
console.log(matchingValue); // 出力: 3
  1. 配列のメソッドを使用する方法(JavaScriptの例):
    • Object.keys() メソッドを使用して、オブジェクトのキーを配列として取得します。
    • Array.prototype.find() メソッドを使用して、2つ目のオブジェクトで一致する値を検索します。
    • 以下はJavaScriptでの例です:
function findMatchingValue(obj1, obj2) {
  const keys1 = Object.keys(obj1);
  return keys1.find(key => obj2.hasOwnProperty(key) && obj1[key] === obj2[key]) || null;
}
const obj1 = { a: 1, b: 2, c: 3 };
const obj2 = { x: 1, y: 5, z: 3 };
const matchingValue = findMatchingValue(obj1, obj2);
console.log(matchingValue); // 出力: 3
  1. リスト内包表記を使用する方法(Pythonの例):
    • 2つのオブジェクトを比較し、一致する値をリスト内包表記で取得します。
    • 以下はPythonでの例です:
def find_matching_value(obj1, obj2):
    matching_values = [value for value in obj1.values() if value in obj2.values()]
    return matching_values[0] if matching_values else None
obj1 = {"a": 1, "b": 2, "c": 3}
obj2 = {"x": 1, "y": 5, "z": 3}
matching_value = find_matching_value(obj1, obj2)
print(matching_value) # 出力: 3

これらの方法を使用すると、2つのオブジェクトで一致する値を見つけることができます。プログラミング言語によって異なる構文が使われますが、基本的なアプローチは同じです。以上のコード例を参考にして、自分の要件に合わせた実装を行ってみてください。