Underscore.jsを使用してオブジェクトの配列を検索しようとしていますが、目的のものをターゲットにすることができません。特定の値を含む配列からオブジェクトを取得する
console.log(_.findWhere(response.data, { TaskCategory: { TaskCategoryId: $routeParams.TaskCategory } }));
しかし、これはundefined
$routeParams.TaskCategory
を返すされる。これは、私が探していアレイ内のオブジェクトの一例である301
に等しいです。このデータは、私がTaskCategory.TaskCategoryId
を使用して、その配列の2番目のオブジェクトをしたいので、
[{
"TaskCategory": {
"TaskCategoryId": 201,
"TaskName": "TaskName"
},
"TaskCount": 1,
"Tasks": [{
"EventTypeId": 201,
"EventName": "Event Driver",
"EventDate": "0001-01-01T00:00:00",
"EventId": "00000000-0000-0000-0000-000000000000",
}]
},
{
"TaskCategory": {
"TaskCategoryId": 301,
"TaskName": "TaskName"
},
"TaskCount": 1,
"Tasks": [{
"EventTypeId": 201,
"EventName": "Event Driver",
"EventDate": "0001-01-01T00:00:00",
"EventId": "00000000-0000-0000-0000-000000000000",
}]
}]
data.response
で表され、それはアンダースコアを使用して取得することは可能でしょうか?代わりにfindWhereの
ほぼ横ばい、あなたのコードを使用することができるだろうこの場合は '_.where 'となります。彼は '_.filter'ではなく' _.find'を使うべきです。 – forivall
@forivallああ、もちろん...ありがとう。フィルタはコレクション全体を検索しますが、findは最初の一致で停止します。私は更新しました。 – McGarnagle
ありがとう、 '_.find'は完璧に機能しました。私は本当にこの図書館に座って週末にそれを学ぶ必要があります。 – Neil