考虑数据:
let orders = {
"data": [
{
"email": "a@b.com", "orders": [
{ "orderName": "something", "price": "43$" },
{ "orderName": "anotherthing", "price": "4$" }
]
},{
"email": "c@w.com", "orders": [
{ "orderName": "fish", "price": "43$" },
{ "orderName": "parrot", "price": "4$" }
]
}
]
};
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用一些电子邮件来过滤对象的订单,例如:
email = 'a@b.com'
x=orders.data.filter(o =>{if (o.email === email) return o.orders});
Run Code Online (Sandbox Code Playgroud)
但整个返回值是整个匹配对象,包括电子邮件和订单,我不需要整个对象,我只想要订单。
你不能filter独自完成,你还需要map:
orders.data.filter(o => o.email === 'a@b.com').map(o => o.orders)
Run Code Online (Sandbox Code Playgroud)