2016-09-15 7 views
0

特定のページのコメントを取得しようとしています。javascriptオブジェクトから特定のIDと一致するアイテムを取得する方法

だから、私はslangID = 0Uwx4oXQVEckArRSZNerwhfDZFF3がすべてのコメントを配列またはオブジェクトに入れたいと思っています。ここ は私のjavascriptオブジェクトです:

{ 
"3d0366ccf32c4459b9a38aee0dde425a": { 
"comment": "This is up\nI know", 
"commentID": "3d0366ccf32c4459b9a38aee0dde425a", 
"slangID": "34a97a464b51d81a592cf37c8d83cc9e", 
"time_date": "2016-09-15T06:15:09.969Z", 
"user_id": "0Uwx4oXQVEckArRSZNerwhfDZFF3", 
"username": "james" 
}, 
"4b0839bba81943e9cb511365d2978ad6": { 
"comment": "aaaaaaa", 
"commentID": "4b0839bba81943e9cb511365d2978ad6", 
"slangID": "34a97a464b51d81a592cf37c8d83cc9e", 
"time_date": "2016-09-15T06:54:36.026Z", 
"user_id": "bHDKSU6aorX9efzBCHy", 
"username": "ericel123" 
}, 
"5064603984a3a217ae02cd0dab7ede81": { 
"comment": "this\n", 
"commentID": "5064603984a3a217ae02cd0dab7ede81", 
"slangID": "34a97a464b51d81a592cf37c8d83cc9e", 
"time_date": "2016-09-15T06:37:15.113Z", 
"user_id": "0Uwx4oXQVEckArRSZNer", 
"username": "james" 
}, 
"59691edb302c4d0a70d6bb860e64d4e1": { 
"comment": "hello\n", 
"commentID": "59691edb302c4d0a70d6bb860e64d4e1", 
"slangID": "34a97a464b51d81a592cf37c8d83cc9e", 
"time_date": "2016-09-15T06:36:41.308Z", 
"user_id": "0Uwx4oXQVEckArRSZNer", 
"username": "james" 
} 
} 

だから私は「コメント」と呼ばれるオブジェクトにコメントを入れることができます。 私はこのようなフィルタを試してみました:

var filtered = vm.comments.filter(function(item) { 
     return item.slangID === sid; 
    }); 
var comments = filtered; 

それがうまくいきませんでした。私は以来、「34a97a464b51d81a592cf37c8d83cc9e」を使用している

+0

あなたは[Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)を確認しましたか? – raina77ow

+0

何を試しましたか? – Slavik

+0

それでループオーバーして、一致する場合はIDをチェックして、配列に項目をプッシュしてください....(サンプルに誓いを入れないでください....) – epascarello

答えて

1

に「0Uwx4oXQVEckArRSZNerwhfDZFF3」のためにそれを変更し、あなたが提供されたデータです。オブジェクトのすべてのキーをループし、スラングが一致するかどうかを確認してから配列にプッシュします。

var result = []; 
for(var key in commentList){ 
    if(commentList[key].slangID == theSlangImLookingFor) 
     result.push(commentList[key]); 

} 
0
var obj ={ 
"3d0366ccf32c4459b9a38aee0dde425a": { 
"comment": "This is fucked up\nI know", 
"commentID": "3d0366ccf32c4459b9a38aee0dde425a", 
"slangID": "34a97a464b51d81a592cf37c8d83cc9e", 
"time_date": "2016-09-15T06:15:09.969Z", 
"user_id": "0Uwx4oXQVEckArRSZNerwhfDZFF3", 
"username": "james" 
}, 
"4b0839bba81943e9cb511365d2978ad6": { 
"comment": "aaaaaaa", 
"commentID": "4b0839bba81943e9cb511365d2978ad6", 
"slangID": "34a97a464b51d81a592cf37c8d83cc9e", 
"time_date": "2016-09-15T06:54:36.026Z", 
"user_id": "bHDKSU6aorX9efzBCHy", 
"username": "ericel123" 
}, 
"5064603984a3a217ae02cd0dab7ede81": { 
"comment": "fuck this\n", 
"commentID": "5064603984a3a217ae02cd0dab7ede81", 
"slangID": "34a97a464b51d81a592cf37c8d83cc9e", 
"time_date": "2016-09-15T06:37:15.113Z", 
"user_id": "0Uwx4oXQVEckArRSZNer", 
"username": "james" 
}, 
"59691edb302c4d0a70d6bb860e64d4e1": { 
"comment": "hello\n", 
"commentID": "59691edb302c4d0a70d6bb860e64d4e1", 
"slangID": "34a97a464b51d81a592cf37c8d83cc9e", 
"time_date": "2016-09-15T06:36:41.308Z", 
"user_id": "0Uwx4oXQVEckArRSZNer", 
"username": "james" 
} 
} 
Object.keys(obj).filter(function(k){ 
    return obj[k].slangID === "34a97a464b51d81a592cf37c8d83cc9e" 
}); 

はのは、あなたのオブジェクトがcommentListと呼ばれていると仮定しましょうあなたのcoude

+0

これは、コメント自体ではなく、一致するコメントのIDを返します。コメントオブジェクトをIDで検索する必要があります。 –

関連する問題