繁体   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