我有一個對象,其中包含按週日嵌套和分組的任務。我無法改變它的結構。從該任務的「狀態」鍵值「==完成」返回第一個任務的最佳方式是什麼?返回第一個對象包含在一個JavaScript多級別嵌套的對象數組中的特定值
{
"total_resource_cost":"20.0",
"total_unassigned_tasks_count":0,
"tasks":[
{
"unassigned_tasks_count":0,
"resource_cost":"9.0",
"weekday":"Tuesday",
"date":"2017-07-11",
"tasks":[
{
"id":6196,
"title":null,
"category":"Guest Ready Clean",
"status":"new",
"date":"2017-07-11",
"due_date":null,
"assigned_to":{
"name":"David",
"id":2,
"mobile":"",
"teams":[
]
},
"assigned_to_2":{
"name":"David",
"id":2,
"mobile":"",
"teams":[
]
},
"assigned_to_id":2,
"assigned_to_2_id":2,
"team":null,
"description":null,
"property":{
"id":114,
"code":"WEB-1",
"lat":"51.45625339999999",
"lng":"-0.16253770000002987",
"postal_code":"SW11 6SF"
},
"list":null,
"priority":3,
"created_by":null,
"created_at":"2017-07-11T16:39:34.944Z",
"updated_at":"2017-07-14T14:08:07.082Z",
"updated_by":{
"id":2,
"name":"David",
"teams":[
]
},
"notes":null,
"trigger_rule":"Booking followed by booking.",
"obsolete":true,
"resource_cost":"3.0"
},
{
"id":6228,
"title":null,
"category":"Owner Leaving Clean",
"status":"new",
"date":"2017-07-11",
"due_date":null,
"assigned_to":{
"name":"David the Housekeeper",
"id":220,
"mobile":"",
"teams":[
]
},
"assigned_to_2":{
"name":"David",
"id":2,
"mobile":"",
"teams":[
]
},
"assigned_to_id":220,
"assigned_to_2_id":2,
"team":null,
"description":null,
"property":{
"id":245,
"code":"ROL-1",
"lat":"51.51190219999999",
"lng":"-0.03558299999997416",
"postal_code":"E14 7JA"
},
"list":null,
"priority":3,
"created_by":null,
"created_at":"2017-07-11T16:39:39.895Z",
"updated_at":"2017-07-14T14:07:58.565Z",
"updated_by":{
"id":2,
"name":"David",
"teams":[
]
},
"notes":null,
"trigger_rule":"Booking following block.",
"obsolete":true,
"resource_cost":"2.5"
},
{
"id":6207,
"title":null,
"category":"Guest Ready Clean",
"status":"new",
"date":"2017-07-11",
"due_date":null,
"assigned_to":{
"name":"David the Housekeeper",
"id":220,
"mobile":"",
"teams":[
]
},
"assigned_to_2":{
"name":"David",
"id":2,
"mobile":"",
"teams":[
]
},
"assigned_to_id":220,
"assigned_to_2_id":2,
"team":null,
"description":null,
"property":{
"id":126,
"code":"PRO-1",
"lat":"51.5375129",
"lng":"-0.042265000000043074",
"postal_code":"E9 7DS"
},
"list":null,
"priority":3,
"created_by":null,
"created_at":"2017-07-11T16:39:35.963Z",
"updated_at":"2017-07-14T14:07:54.920Z",
"updated_by":{
"id":2,
"name":"David",
"teams":[
]
},
"notes":null,
"trigger_rule":"Booking followed by booking.",
"obsolete":true,
"resource_cost":"2.0"
},
{
"id":6202,
"title":null,
"category":"Guest Ready Clean",
"status":"new",
"date":"2017-07-11",
"due_date":null,
"assigned_to":{
"name":"David",
"id":2,
"mobile":"",
"teams":[
]
},
"assigned_to_2":{
"name":"David the Housekeeper",
"id":220,
"mobile":"+",
"teams":[
]
},
"assigned_to_id":2,
"assigned_to_2_id":220,
"team":null,
"description":null,
"property":{
"id":234,
"code":"CAD-2",
"lat":"51.4924164",
"lng":"-0.16394930000001295",
"postal_code":"SW3 2PP"
},
"list":null,
"priority":3,
"created_by":null,
"created_at":"2017-07-11T16:39:35.307Z",
"updated_at":"2017-07-14T14:07:49.911Z",
"updated_by":{
"id":2,
"name":"David",
"teams":[
]
},
"notes":null,
"trigger_rule":"Booking followed by booking.",
"obsolete":true,
"resource_cost":"1.5"
}
]
},
{
"unassigned_tasks_count":0,
"resource_cost":"11.0",
"weekday":"Wednesday",
"date":"2017-07-12",
"tasks":[
{
"id":6148,
"title":null,
"category":"Guest Ready Clean",
"status":"new",
"date":"2017-07-12",
"due_date":null,
"assigned_to":{
"name":"David",
"id":2,
"mobile":"",
"teams":[
]
},
"assigned_to_2":null,
"assigned_to_id":2,
"assigned_to_2_id":null,
"team":null,
"description":null,
"property":{
"id":116,
"code":"SAR-1",
"lat":null,
"lng":null,
"postal_code":null
},
"list":null,
"priority":3,
"created_by":null,
"created_at":"2017-07-11T16:39:28.736Z",
"updated_at":"2017-07-14T15:30:15.665Z",
"updated_by":{
"id":2,
"name":"David",
"teams":[
]
},
"notes":null,
"trigger_rule":"Booking followed by booking.",
"obsolete":true,
"resource_cost":"5.5"
},
{
"id":6193,
"title":null,
"category":"Guest Ready Clean",
"status":"new",
"date":"2017-07-12",
"due_date":null,
"assigned_to":{
"name":"David",
"id":2,
"mobile":"",
"teams":[
]
},
"assigned_to_2":null,
"assigned_to_id":2,
"assigned_to_2_id":null,
"team":null,
"description":null,
"property":{
"id":216,
"code":"MAC-1",
"lat":"51.5480904",
"lng":"-0.11545330000001286",
"postal_code":"N7 8QY"
},
"list":null,
"priority":3,
"created_by":null,
"created_at":"2017-07-11T16:39:34.435Z",
"updated_at":"2017-07-14T15:30:03.989Z",
"updated_by":{
"id":2,
"name":"David",
"teams":[
]
},
"notes":null,
"trigger_rule":"A stay has ended. Unclear what the next event is.",
"obsolete":true,
"resource_cost":"3.5"
},
{
"id":6238,
"title":null,
"category":"Guest Ready Clean",
"status":"new",
"date":"2017-07-12",
"due_date":null,
"assigned_to":{
"name":"David",
"id":2,
"mobile":"",
"teams":[
]
},
"assigned_to_2":null,
"assigned_to_id":2,
"assigned_to_2_id":null,
"team":null,
"description":null,
"property":{
"id":252,
"code":"WEL-1",
"lat":"51.4853737",
"lng":"0.03197999999997592",
"postal_code":"SE7 7PH"
},
"list":null,
"priority":3,
"created_by":null,
"created_at":"2017-07-11T16:39:40.933Z",
"updated_at":"2017-07-14T15:29:53.195Z",
"updated_by":{
"id":2,
"name":"David",
"teams":[
]
},
"notes":null,
"trigger_rule":"Booking followed by booking.",
"obsolete":true,
"resource_cost":"2.0"
}
]
}
]
}
如果您有興趣,請解釋爲什麼這是一項改進?速度? – larpo
速度是一個小的因素,因爲查找會盡快返回匹配,而過濾器將處理整個數組。對我而言,重要的是find會返回對象,而不是數組。 –