2017-08-29 9 views
0

次のオブジェクトはどのように処理するのかわかりません。オブジェクト内の検索値

Object image

どのように私はすべてのオブジェクトを通過し、X値のコンテンツ配列検索を選択することができます。そして値xがオブジェクトにあるとき、私はという値が見つかったオブジェクトからオブジェクトタイトルを得る必要があります。

誰も私にこの問題を解決できるヒントを教えてもらえますか?

+0

ネストされたオブジェクトはありますか、存在しませんか? – zfrisch

答えて

1

あなたが使用することができます...内のオブジェクトを反復すると、 indexOf()を使用して、配列の内容にキーが存在するかどうかを確認します。このような何か:

function searchVal(x){ 
    for(var key in obj){ 
     if(obj[key].hasOwnProperty('content') && obj[key].content.includes(x)) 
      return key; 
    } 
} 
+0

.indexOf(x)> = 0の代わりに.contains(x)を使用できます。 – zfrisch

+0

@zfrischは含まれていません。 –

+0

提案された皆さん、コードが更新されました。 – Dij

1

あなたが特定の値をcontent配列を確認するために、オブジェクトキーを反復処理するために、その後定期的にforループをfor...inを使用することができます。

​​
0
let name = Object.values(obj /*your main object*/) 
     .find(obj => obj.content.includes(x)) 
     .name; 

あなたは可能性がありオブジェクトの最初のオブジェクトは、名前を取得し、 Xが含まプロパティコンテンツを持っているあなたのメインOBJの値を見つけますそのオブジェクトの。

関連する問題