私はこのようなオブジェクトの配列を持っています。オブジェクトの配列に動的な値を挿入する、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ループがあります。
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は、値が(value)で始まるかどうかを確認する関数です。
オブジェクトの2つの配列をマップするJSの関数は既にありますか? ( "Prefix"の値は基本的に、デフォルトの "5002"プレフィックスにならないように上から下に移動する必要があるため、論理に問題があります。)
であるが、接頭辞「5002」は残りの接頭語をカバーする。優先順位は何ですか? – RomanPerekhrest