Tôi đang cố gắng tìm kiếm qua một mảng các đối tượng bằng cách sử dụng Underscore.js, nhưng tôi dường như không thể nhắm mục tiêu đến giá trị mà tôi muốn.Lấy một đối tượng từ mảng có chứa một giá trị cụ thể
console.log(_.findWhere(response.data, { TaskCategory: { TaskCategoryId: $routeParams.TaskCategory } }));
Tuy nhiên, điều này đang trở lại undefined
$routeParams.TaskCategory
bằng 301
Đây là một ví dụ về các đối tượng bên trong mảng tôi đang tìm kiếm. Những thông tin này được đại diện bởi data.response
[{
"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",
}]
}]
Vì vậy, tôi muốn đối tượng thứ hai trong mảng bằng cách sử dụng TaskCategory.TaskCategoryId
, là nó có thể để có được nó bằng cách sử gạch?
Sử dụng bộ lọc sẽ là một sự thay thế cho việc sử dụng '_.where' trong trường hợp này. Anh ta nên sử dụng '_.find' thay vì' _.filter'. – forivall
@forivall oh, tất nhiên ... cảm ơn. Bộ lọc sẽ tìm kiếm toàn bộ bộ sưu tập, trong khi tìm thấy dừng lại ở trận đấu đầu tiên. Tôi đã cập nhật. – McGarnagle
Cảm ơn các bạn, '_.find' đã làm việc hoàn hảo. Tôi thực sự cần phải ngồi xuống với thư viện này và tìm hiểu nó trong một ngày cuối tuần. – Neil