首页 > 解决方案 > 缩短长 if/else 语句的最简单方法是什么?

问题描述

下面的全功能(简化)示例。

假设我有一个可以转换为全名的 10 个可能缩写的列表。
它不够大,我想在数据库中进行查找。
什么是最简单的 if-else 解决方案?

这是我想象中的解决方案:从逻辑上讲,比较两个数组是有意义的,例如:
var bar = [foo == sf, foo == ny, foo == la] ? [San Francisco, New York, Los Angeles] : "";

否则,我在下面有一个有效的解决方案。我还能做得比这更好吗?

编辑:理想的解决方案是一行代码。我不想使用 switch 语句,因为它的编写效率并不比 if/else 高多少。

bar = "LA";
sf = "SF";
ny = "NY";
la = "LA";
{
if (bar == sf) {
foo = "San Francisco";
} else if (bar == ny) {
foo = "New York";
} else if (bar == la) {
foo = "Los Angeles";
}
document.getElementById("test").innerHTML = foo;
}
<div id="test">Result</div>

标签: javascriptif-statement

解决方案


这不是使用if语句,但您可以使用对象轻松实现此目的:

var cities =  {
 "LA": "Los Angeles",
 "SF": "San Francisco",
 "NY": "New York" 
}

var search = "LA";
var foo = cities[search];

document.body.innerHTML = foo;


推荐阅读