やりたいこと
以下のような2つのjsonがあるとき、json1.object_dataの中に、json2.object_data.data_idの内容と一致するものが含まれているかをチェックしたいです。
json1
1{ object_id: '1', 2 object_data: 3 [ { data_id: '1', 4 data_type: 'A' }, 5 { data_id: '2', 6 data_type: 'B'} 7 ], 8 created_at: '2021-03-25', 9 created_by: '太郎' } 10
json2
1{ object_id: '1', 2 object_data: 3 [ { data_id: '2', 4 data_type: 'C' } ], 5 created_at: '2021-03-25', 6 created_by: '太郎' } 7
この時、json1にはdata_id = '2'のオブジェクトが含まれているので、TRUEといった具合です。
data_typeに関しては一致・不一致を問いません。
試したこと
js
1 const aJson = JSON.stringify(json1.map(obj => obj.data_id)); 2 console.log(aJson); 3 const bJson = JSON.stringify(itemsData.map(obj => obj.data_id)); 4 console.log(bJson); 5 if (aJson.indexOf(itemsObjectId) > 0){ 6 console.log("TRUE"); 7 } else { 8 console.log("FALSE"); 9 }
出力結果
["1", "2"] ["2"] FALSE
全てFALSEで返ってきてしまいます。
ご教授お願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/29 11:00