如何使用条件语句删除javascript中的对象
如果如何使用条件语句删除javascript中的对象,javascript,Javascript,如果frequency>total\u payment为true,我将尝试删除所有对象如果为false,则将其从对象中删除不删除 我想要达到的 const项={ "1": { “总付款”:29, “频率”:10, “金额”:500, }, "4": { “总付款”:27, “频率”:1, “金额”:500, }, "5": { “总付款”:27, “频率”:6, “金额”:483.33, }, "6": { “总付款”:28, “频率”:10, “金额”:222.2, }, "7": { “总
frequency>total\u payment
为true,我将尝试删除所有对象如果为false,则将其从对象中删除不删除
我想要达到的
const项={
"1": {
“总付款”:29,
“频率”:10,
“金额”:500,
},
"4": {
“总付款”:27,
“频率”:1,
“金额”:500,
},
"5": {
“总付款”:27,
“频率”:6,
“金额”:483.33,
},
"6": {
“总付款”:28,
“频率”:10,
“金额”:222.2,
},
"7": {
“总付款”:1,
“频率”:2,
“金额”:1000,
}
}
const res=Object.entries(items.filter)([扣减])=>{
返回扣减项.频率>扣减项.总付款;
});
控制台日志(res)代码>您可以尝试使用reduce函数
const amounts={
“1”:{“付款总额”:29,“频率”:10,“金额”:500},
“4”:{“付款总额”:27,“频率”:1,“金额”:500},
“5”:{“付款总额”:27,“频率”:6,“金额”:483.33},
“6”:{“付款总额”:28,“频率”:10,“金额”:222.2},
“7”:{“付款总额”:1,“频率”:2,“金额”:1000}
}
const modifiedAmounts=Object.keys(amounts).reduce((acc,cur)=>{
const{frequency,total_payment}=金额[cur];
如果(频率>付款总额)acc[cur]=金额[cur];
返回acc;
}, {})
console.log(modifiedAmounts)
为什么不使用arrayfilter()
?我尝试了它,但仍然不工作,但它在数组中转换,所以索引为0。我希望索引为7
const deductions = this.payrollPayableArray.reduce((c,o)=>({
...c,
...o.deduction,
}),{})
Object.keys(deductions).filter((key)=>{
if(key == null || key == '') delete deductions[key]
})
Object.values(deductions).reduce((key,item)=>{
if(item.frequency > item.total_payment) delete deductions[key] <-- not working
})
this.DeductionArray = deductions
})
}){
"1": {
"total_payment": 29,
"frequency": 10,
"amount": 500,
},
"4": {
"total_payment": 27,
"frequency": 1,
"amount": 500,
},
"5": {
"total_payment": 27,
"frequency": 6,
"amount": 483.33,
},
"6": {
"total_payment": 28,
"frequency": 10,
"amount": 222.2,
},
"7": {
"total_payment": 1,
"frequency": 2,
"amount": 1000,
}
}
{
"7": {
"total_payment": 1,
"frequency": 2,
"amount": 1000,
}
}