【发布时间】:2021-01-26 13:43:58
【问题描述】:
我有这样的数组
let quotes = [
{
quoteNumber :'001',
items : [
{
partnumber : '5551',
supplierQty : 0,
stock : 5
},
{
partnumber : '5552',
supplierQty : 1,
stock : 0
},
{
partnumber : '5553',
supplierQty : 0,
stock : 2
}
]
},
{
quoteNumber : '002',
items : [
{
partnumber : '5554',
supplierQty : 1,
stock : 0
},
{
partnumber : '5552',
supplierQty : 5,
stock : 0
},
{
partnumber : '5553',
supplierQty : 0,
stock : 2
}
]
},
{
quoteNumber : '003',
items : [
{
partnumber : '5554',
supplierQty : 0,
stock : 1
},
{
partnumber : '5552',
supplierQty : 0,
stock : 3
},
{
partnumber : '5553',
supplierQty : 0,
stock : 2
}
]
}
]
我想要的结果是删除报价中具有供应商Qty === 0 的项目并删除其中每个项目都具有供应商Qty === 0 的报价
这就是我想要的结果。
let quotes = [
{
quoteNumber :'001',
items : [
{
partnumber : '5552',
supplierQty : 1,
stock : 0
}
]
},
{
quoteNumber : '002',
items : [
{
partnumber : '5554',
supplierQty : 1,
stock : 0
},
{
partnumber : '5552',
supplierQty : 5,
stock : 0
}
]
}
]
这是我的代码
let results = quotes.filter((quote , index) => {
let filterQuote = quote.items.filter((item) => {
return item.supplierQty > 0;
})
return filterQuote.length > 0;
})
console.log(results);
但它只是删除报价 003 only 。它没有删除引用 001 和 002 中的项目。
我该怎么做。感谢帮助
results = [
{
quoteNumber :'001',
items : [
{
partnumber : '5551',
supplierQty : 0,
stock : 5
},
{
partnumber : '5552',
supplierQty : 1,
stock : 0
},
{
partnumber : '5553',
supplierQty : 0,
stock : 2
}
]
},
{
quoteNumber : '002',
items : [
{
partnumber : '5554',
supplierQty : 1,
stock : 0
},
{
partnumber : '5552',
supplierQty : 5,
stock : 0
},
{
partnumber : '5553',
supplierQty : 0,
stock : 2
}
]
}
]
【问题讨论】:
标签: javascript multidimensional-array ecmascript-6