Sam*_*row 0 javascript arrays if-statement
我有一个表格,用户可以在其中输入他们的地址。然后,系统会根据英国的几个目的地检查他们的地址,看看哪个城市离他们最近。
我希望每个目的地都有不同的价格,例如英国伦敦 = 50,英国伯明翰 = 200 等。
我写了一个非常基本的 if 语句,它检查返回的城市并计算价格。然而,我想知道是否有一个更简洁的解决方案,因为它感觉有点迟钝:
if(closestCities[0].cityName == "Coventry, UK") {
travelExpenses = 10;
} else if (closestCities[0].cityName == "London, UK"){
travelExpenses = 50;
} else if (closestCities[0].cityName == "Margate, UK"){
travelExpenses = 100;
} else if (closestCities[0].cityName == "Bristol, UK"){
travelExpenses = 20;
} else if (closestCities[0].cityName == "Tamworth, UK"){
travelExpenses = 15;
} else if (closestCities[0].cityName == "Birmingham, UK"){
travelExpenses = 200;
} else {
travelExpenses = 30;
}
Run Code Online (Sandbox Code Playgroud)
为什么不创建一个对象:
let map = {
"Margate, UK": 100,
"Bristol, UK": 20 // etc.
}
Run Code Online (Sandbox Code Playgroud)
看来你还想要一个默认值。我认为在你的情况下你可以利用 空合并运算符:
空合并运算符 (??) 是一个逻辑运算符,当其左侧操作数为 null 或未定义时,它返回其右侧操作数,否则返回其左侧操作数
travelExpenses = map[closestCities[0].cityName] ?? 30;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |