我有一个像这样的对象数组;插入动态值到对象数组中,javascript
[
{Number: 5002000, Origin: 123456, Count: 128},
{Number: 5002300, Origin: 900231, Count: 52},
{Number: 5002022, Origin: 534323, Count: 269}
]
现在我试图将“计数”值与指定价格池中的值相乘。
看起来像这样;
[
{Prefix: 50023, Price: 20},
{Prefix: 50020, Price: 10},
{Prefix: 5002, Price: 60},
]
目前有一个可怕的if语句循环。
for (var key in sData) {
if (sData[key].Origin.startsWith('50023')) {
sData[key].sum = (sData[key].Count * 20);
}
else if (sData[key].Origin.startsWith('50020')) {
sData[key].sum = (sData[key].Count * 10);
}
// continues...
}
startsWith是一个简单检查值是否以(值)开头的函数。
在JS中是否已经有一个函数来映射两个对象数组? (我也遇到了逻辑问题,因为“前缀”值基本上必须从上到下,因为不会落在默认的“5002”前缀上。)
但前缀'5002'覆盖其余的前缀。最重要的是什么? – RomanPerekhrest