[英]Return value from array of objects inside an array of objects the functional way
我有一個包含對象的數組,該數組包含一個也包含對象的數組。 當對象數組內的數組中的對象包含值 111 時,我想返回第一個數組內的整個對象。
下面的代碼顯示了第一個數組中的一個示例對象。
[
{
"id":11,
"bookingNumber":"1210",
"arrivalDate":"2018-09-17T22:00:00.000Z",
"departureDate":"2019-09-18T22:00:00.000Z",
"customerId":2,
"fields":[
{
"value":"111",
"display_name":"RoomNumber"
},
{
"value":"otherValue",
"display_name":"PersonInfo"
}
]
}
]
我的嘗試返回未定義:
const guest = guestGroups.forEach(function (guestGroup) {
guestGroup.fields.filter(function (fields) {
if (fields.value === roomNumber)
return guestGroup;
});
});
您需要檢查fields
數組中的some
項目是否具有您要查找的value
:
const valueToFind = '111'; const arr=[{"id":11,"bookingNumber":"1210","arrivalDate":"2018-09-17T22:00:00.000Z","departureDate":"2019-09-18T22:00:00.000Z","customerId":2,"fields":[{"value":"111","display_name":"RoomNumber"},{"value":"otherValue","display_name":"PersonInfo"}]}] const foundObject = arr.find( ({ fields }) => fields.some( ({ value }) => value === valueToFind ) ); console.log(foundObject);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.