Javascript:编写if/else语句的更好方法?也许使用数组?

Javascript:编写if/else语句的更好方法?也许使用数组?,javascript,arrays,if-statement,Javascript,Arrays,If Statement,可能重复: 我是编程新手,所以我知道的很少。(很抱歉发布了一个新手问题) 这是我的问题 我使用了“if,else”语句来重定向用户,具体取决于他们的国家,如下所示 if (country == 'US') { window.location=us } else { if (country == 'GR') { window.location=gr } else { // (repeated this for 5 times/5 different cou

可能重复:

我是编程新手,所以我知道的很少。(很抱歉发布了一个新手问题)

这是我的问题

我使用了“if,else”语句来重定向用户,具体取决于他们的国家,如下所示

if (country == 'US') {
  window.location=us
}  
else {
  if (country == 'GR') {  
    window.location=gr
  }
  else {
    // (repeated this for 5 times/5 different countries)
  }
}
好吧,现在,我需要将访客重定向到他们所在的州(即加利福尼亚州、亚利桑那州等)

问题是,如果我继续使用if/else语句,我知道我必须重复50次,javascript代码最终会看起来很可笑

我知道有更好的办法

有人能演示如何将多个if/else语句替换为一个数组吗?数组应该在这样的情况下使用吗?我说得对吗

如果我错了,你能纠正我吗?告诉我应该用什么其他的说法来代替


谢谢你,我再次为提出这样一个新手问题而道歉。

一种可能性是创建地图:

var countries = {
    US: us,
    GR: gr
};

window.location = countries[country];
这是因为可以使用字符串获取对象的属性。例如,如果您有一个具有foo属性的对象:

var myObject = {};
myObject.foo = 4;
然后您还可以通过以下方式访问
foo

var foosValue = myObject['foo'];

这基本上是一个非常原始的hashmap,它是编程中常见的数据结构。这种模式在JavaScript中很常见。

查看switch语句。可能值得为此添加一个默认/回退:
window.location=countries[country]| genericpage以防万一用户在国家地图没有指定值的位置。明白!!我发现我需要使用var/变量。谢谢你回答这个新问题。马特+1。是否会有+15分钟的延迟?我想我在15秒内回答了一个问题。不是几分钟,是的。谢谢这很有效。我昨天晚上开始学习javascript,所以我还不太了解“var”,但至少我知道如何使用它。“var”声明了一个“局部”变量。如果没有“var”,您可能会覆盖浏览器使用的一个非常重要的全局变量和/或扩展运行时解释器的“搜索区域”,以查找您引用的标签。这意味着性能惩罚。
var redirect = { "US": "http:this", "GR" : "http:that };

window.location = redirect[country] || alert("what are you trying to achieve?");