在JS中,我有一个项目数组,每个项目都有这样的形式:
{
id: 'fa4da51',
name: 'product-name',
prettyName: 'Product Name',
price: null,
}
我在数组上运行map,然后返回item.price
以显示每件商品的价格。
我从外部API得到的一些项目没有价格(price
设置为null
)。API中的项目将来不会改变,id可能会改变,但名称不会。
我想出了一个主意,如果!item.price
,那么让我们显示给定项目的回退价格。
要得到我想要的东西,最好的方法是什么?
我一直在考虑为每个项目创建一个Map(以防万一),如下所示:
var itemPrices = new Map([
['product-name', 100],
['product-name-2', 200],
['product-name-3', 300],
]);
然后做着:item.price ?? item.price || itemPrices[item.name]
.
对于大约5000个项目来说,这是一个好的方法吗?其中大约1500个项目没有价格。我能以某种方式调整它,使它更有性能吗?我想实现的东西有某种标准化的名称,这样我就可以谷歌它了吗?负责API的人正在休一个很长的病假,我不得不在没有访问后端的情况下修复这个问题。
谢谢你的提示。
1条答案
按热度按时间j5fpnvbx1#
我会让你的代码更好一点,但我会坚持使用散列表