2つのレベルの子を持つ配列をフィルタリングしようとしています。私は配列の第1レベルをフィルタリングできますが、第2レベルはフィルタリングできません。私はの下に特定のemail
を持つ配列を返そうとしています。ここでは構造2次配列キーに基づくJavascript配列フィルタ
であり、ここでのコードです。このコードは、email
がそうアレイ内のすべてのアイテムを返すと一致しない
this.firebase.list('/todo').
map(data => data.filter((e) => {
return e.collaborators.filter((x) => {
return x.email == email;
});
}));
サンプルJSON:
{
"todo" : {
"-Kee7m7WkNDhrbX_0Ycb" : {
"collaborators" : [ {
"email" : "[email protected]",
"name" : "test"
},
{
"email" : "[email protected]",
"name" : "test1"
} ],
"created_at" : 1488913112569,
"created_by" : "[email protected]",
"preview" : "",
"title" : "test",
"updated_at" : 1488913112569
},
"-Kee7m7WkNDhrbX_0Ycb" : {
"collaborators" : [ {
"email" : "[email protected]",
"name" : "test"
},
{
"email" : "[email protected]",
"name" : "test2"
} ],
"created_at" : 1488913112569,
"created_by" : "[email protected]",
"preview" : "",
"title" : "test",
"updated_at" : 1488913112569
}
}
}
必要な出力:メールを持っている
最初の配列のみ[email protected]
データのスクリーンショットではなく、カットアンドペーストできるデータを入力してください –
入力だけでなく出力も投稿してください。 – Bergi