Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么';根据数组分配变量的最快方法是什么?_Javascript_Arrays_Iteration_Assign - Fatal编程技术网

Javascript 什么';根据数组分配变量的最快方法是什么?

Javascript 什么';根据数组分配变量的最快方法是什么?,javascript,arrays,iteration,assign,Javascript,Arrays,Iteration,Assign,从可读性/键入的角度来看,根据相关变量为特定变量赋值的最快方法是什么 var abbrev; if(state=='Pennsylvania'){ abbrev='PA'; }else if(state=='New Jersey'){ abbrev='NJ'; }else if(state=='Delaware'){ abbrev='DE'; } //and so on... 我试图避免使用一个数组来表示州名,另一个数组来表示缩写,因为使用单独的声明会丢失关系。您可以

从可读性/键入的角度来看,根据相关变量为特定变量赋值的最快方法是什么

var abbrev;

if(state=='Pennsylvania'){
    abbrev='PA';
}else if(state=='New Jersey'){
    abbrev='NJ';
}else if(state=='Delaware'){
    abbrev='DE';
}
//and so on...
我试图避免使用一个数组来表示州名,另一个数组来表示缩写,因为使用单独的声明会丢失关系。

您可以使用一个数组来表示缩写,如

var abbreviations = {
        'Pennsylvania': 'PA',
        'New Jersey': 'NJ',
        'Delaware': 'DE'
    };
用法:

abbrev = abbreviations[state];

只是一个建议,你试过使用CASE吗?它看起来更干净易读

试试看:

var abbrev = '';
    if(state.indexOf(' ') == -1){
    abbrev = state.substring(0,2).toUpperCase();
    }else{
    var firstLetter = state.substring(0,1).toUpperCase();
    var secoundLetter = state.substring(state.indexOf(' '),1).toUpperCase();
    abbrev = firstLetter  + secoundLetter;
    }
    alert(abbrev);

使用
映射
对象
在JS中)。然后您可以让字符串键指向字符串值(例如:
obj['Pennsylvania']='PA'
),您需要某种方法将状态与缩写关联起来,因此您的最佳选择可能实际上是一个关联数组。最好的选择是主观的,取决于你个人认为什么是最好的。这四个选项基本上是if/else语句、switch语句、关联数组或映射;I don’我不在宾夕法尼亚州或得克萨斯州这样只有一个词的州工作<代码>阿拉斯加:AK我是巴西人,我不知道美国的州,在我的情况下,这个代码起作用:Acre-AC、阿拉戈斯-阿尔、亚马孙-阿姆、圣保罗-SP、巴伊亚-巴、贝洛-奥里藏特-伯克希尔哈撒韦、米纳斯吉拉斯-MG等等……;)正是我需要的。非常感谢。