[英]Filter nested objects by property
我正在使用一个(设计糟糕的)API,它发送以下响应:
{
"0" : {
"name" : "John",
"last_name" : "Doe"
},
"1" : {
"name": "Mary",
"last_name": "Ann"
},
[...]
}
您可能已经注意到,它是一个带有嵌套对象的大 JSON object。 因为它不是数组,所以我不能使用.filter()
。 那么,我如何通过嵌套的 object 属性(例如name
或last_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.