簡體   English   中英

以函數方式從對象數組中的對象數組返回值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM