我有一個像這樣的對象數組;插入動態值到對象數組中,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