else if语句效率变量分配
问题描述:
我有JavaScript从表单中获取条目,然后在使用“GET”将这些表单输入应用于值之后搜索位置,因为您可以看到它最终与我一起使用for声明夫妇由一个非常长的if/else if语句。什么是提高效率的最佳途径?else if语句效率变量分配
谢谢!
var search = location.search;
var parts = search.slice(1).split('&'); // Need to slice to remove initial '?'
for (var i=0; i < parts.length; ++i)
{
var info = parts[i].split('=');
var variable = info[0];
var value = info[1];
if(variable === "pNAME") {
var pNAME = value;
}
else if(variable === "mAB") {
var mAB = value;
}
else if(variable === "mPB") {
var mPB = value;
}
else if(variable === "mNA") {
var mNA = value;
}
else if(variable === "lPED") {
var lPED = value;
}
else if(variable === "lSS") {
var lSS = value;
}
else if(variable === "lSC") {
var lSC = value;
}
else if(variable === "lVIS") {
var lVIS = value;
}
else if(variable === "lPAR") {
var lPAR = value;
}
else if(variable === "lBUS") {
var lBUS = value;
}
else if(variable === "lTRAIN") {
var lTRAIN = value;
}
else if(variable === "cHT") {
var cHT = value;
}
else if(variable === "cRAM") {
var cRAM = value;
}
else if(variable === "cTMS") {
var cTMS = value;
}
else if(variable === "cCC") {
var cCC = value;
}
else if(variable === "cCG") {
var cCG = value;
}
else if(variable === "cSTRL") {
var cSTRL = value;
}
else if(variable === "cWEAL") {
var cWEAL = value;
}
else if(variable === "deWHI") {
var deWHI = value;
}
else if(variable === "deASI") {
var deASI = value;
}
else if(variable === "deBLA") {
var deBLA = value;
}
else if(variable === "deOTH") {
var deOTH = value;
}
else if(variable === "daYOU") {
var daYOU = value;
}
else if(variable === "daYM") {
var daYM = value;
}
else if(variable === "daM") {
var daM = value;
}
else if(variable === "daOL") {
var daOL = value;
}
else if(variable === "doPOP") {
var doPOP = value;
}
else if(variable === "doDENS") {
var doDENS = value;
}
else if(variable === "doSTU") {
var doSTU = value;
}
};
谢谢高级!
答
您可以使用变量 名称作为属性名称将对象从其中分配并指定为属性。喜欢的东西:
var myVar = {};
for (var i=0; i < parts.length; ++i){
var info = parts[i].split('=');
myVar[info[0]] = info[1];
}
现在你把所有的变量和值在一个对象,可寻址例如作为myVar.lSS
或myVar.pNAME
。
+0
完美工作,更简单! – BradStevenson 2012-02-03 10:22:03
答
把你PNAME,单克隆抗体......也是在阵列不是这样做
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] == needle) return true;
}
return false;
}
你如何使用这些变量? – TJHeuvel 2012-02-03 10:08:25