我有一个排序的数组是
array = [
{ id: 1, orderTotal: 50000 },
{ id: 3, orderTotal: 50000 },
{ id: 2, orderTotal: 100000 },
{ id: 4, orderTotal: 200000 },
]
我想找到所有的订单总数,如果最近的话总价.
这是我的代码
const getNearestOrderValue = (arr, totalPrice) => {
let nearestItem = [];
let maxSmaller = 0;
for (const item of arr) {
if (item?.orderTotal <= totalPrice && item?.orderTotal >= maxSmaller) {
maxSmaller = item?.orderTotal;
nearestItem.push(item);
}
}
return nearestItem;
}
如果总价格=80000,我代码返回正确结果为
[
{ id: 1, orderTotal: 50000 },
{ id: 3, orderTotal: 50000 },
]
但是如果总价格是120000,我的代码结果是
[
{ id: 1, orderTotal: 50000 },
{ id: 3, orderTotal: 50000 },
{ id: 2, orderTotal: 100000 }
]
我想要的结果是
[
{ id: 2, orderTotal: 100000 }
]
如何修复此getNearestOrderValue函数以正确响应?我期待着得到任何人的帮助.