我有一组具有 key 付费的对象。我想使用循环对所有对象应用折扣,除了付费值较高的对象。
var booking = [
{id:1,paid:200,currency:'USD'},
{id:2,paid:99,currency:'USD'},
{id:3,paid:100,currency:'USD'},
]
在上面的对象名称数组booking
上,我想通过在该对象中添加键discount:true
来进行循环并应用折扣,除了更高的paid
> 值对象。
这就是循环后我想要的
var booking = [
{id:1,paid:200,currency:'USD'},
{id:2,paid:99,currency:'USD',discount:true},
{id:3,paid:100,currency:'USD',discount:true},
]
最佳答案
您可以先获取最大付费
值,然后根据需要应用新属性。
const
booking = [{ id: 1, paid: 200, currency: 'USD' }, { id: 2, paid: 99, currency: 'USD' }, { id: 3, paid: 100, currency: 'USD' }],
max = Math.max(...booking.map(({ paid }) => paid)),
result = booking.map(o => ({ ...o, ...o.paid === max || { discount: true } }));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 对循环中的对象数组应用折扣,无论哪个对象的支付值较高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74006591/