我下面有一个对象数组
selectedOption = [
{
id: 'REPORTORDER',
name: 'reportOrder'
},
{
id: 'REORDER',
name: ‘reorder'
},
{
id: 'RETURNPRODUCTS',
name: 'returnProducts'
},
{
id: 'ENTERPO',
name: 'enterPo'
}
]
基于ifshipmentStatus
为“ CANCELLED”且entriesList
为[]的条件,我想从上述数组中删除第二项。
我已经尝试使用过滤器方法,如下所示:
selectedOption.filter(item => (shipmentStatus == "CANCELLED" && entriesList == []) ? item.name != "reorder" : item.name)
filter
返回一个新数组,因此您需要重新分配selectedOption
的结果filter
。
由于entriesList永远不会等于新的空数组,因此条件将始终失败。最好通过将长度与零比较来检查数组是否为空。
最好检查过滤器外部的全局条件。
if (shipmentStatus === 'CANCELLED' && Array.isArray(entriesList) && entriesList.length === 0) {
selectedOption = selectedOption.filter(
(item) => item.name != 'reorder'
);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句