【发布时间】:2018-05-20 03:33:27
【问题描述】:
我有这个数组burgerActions:
[
{
statusId: 2,
label: 'Accept'
},
{
statusId: 3,
label: 'Reject'
},
{
label: 'Consult'
},
{
label: 'Transfer'
}
]
这个对象status可以是:
{
"label": "Accept",
"id": 2
}
或:
{
"label": "Reject",
"id": 3
}
在第一种情况下,您必须从 burgerActions 数组创建一个新数组,其中 statusId 不等于我们拥有的 status 对象的 id(我们只能有一个 status 对象我列出的2个案例)。
为此,我使用了filter 方法:
const result = burgerActions.filter((element) => {
return element.statusId !== recommendation.status.id
})
在第二种情况下,我需要一个复杂的条件加上布尔值
const statusRef = recommendation.recipient
在第一种情况下,如果statusRef 是false,我想要过滤burgerAction ({label: 'Transfer'}) 中的最后一个对象,但如果statusRef 为真,则不是。
我需要一种不使用if () 条件来执行此类过滤器的方法,因为需要处理多种情况。
【问题讨论】:
-
给出正确的输入输出?
-
请同时添加想要的结果。
-
过滤 2 个对象和 另外一个布尔值是什么意思?
-
我编辑了帖子
-
@MouadEnnaciri 我发布了一个答案,请检查并告诉我这是否是您要找的。span>
标签: javascript arrays object ecmascript-6 javascript-objects