繁体   English   中英

按属性过滤嵌套对象

[英]Filter nested objects by property

我正在使用一个(设计糟糕的)API,它发送以下响应:

{
   "0" : {
      "name" : "John",
      "last_name" : "Doe"
   },
   "1" : {
      "name": "Mary",
      "last_name": "Ann"
   },
   [...]
}

您可能已经注意到,它是一个带有嵌套对象的大 JSON object。 因为它不是数组,所以我不能使用.filter() 那么,我如何通过嵌套的 object 属性(例如namelast_name )过滤这个大的 object ?

您可以使用 Object.values(type).flat() 将其作为数组。 然后它将 object 值作为单个数组。

 const input1 = { "0": { "name": "John", "last_name": "Doe" }, "1": { "name": "Mary", "last_name": "Ann" } } function search(input, key) { return Object.values(input).flat().filter(({ name }) => name === key); } console.log(search(input1, "John"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM