我有一個物件陣列,其中有keypaid。我想對所有物件應用折扣,期望使用回圈支付價值更高的物件。
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},
]
uj5u.com熱心網友回復:
paid如有必要,您可以先獲取最大值,然后再應用新屬性。
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; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/512792.html
