Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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_Variables_Var_Statements - Fatal编程技术网

将Javascript变量简化为单个语句?

将Javascript变量简化为单个语句?,javascript,variables,var,statements,Javascript,Variables,Var,Statements,想知道是否可以将以下内容简化为一个变量定义: var gpaEarned = '%%PATTERN:gpa%%'; //value for gpa is passed in dynamically var gpa = gpaEarned.replace("Less than 2.0","1.9").replace("2.0-2.4","2.0").replace("2.5-2.74","2.5").replace("2.74-2.9","2.74").replace("3.0-3.4","3.0

想知道是否可以将以下内容简化为一个变量定义:

var gpaEarned = '%%PATTERN:gpa%%'; //value for gpa is passed in dynamically
var gpa = gpaEarned.replace("Less than 2.0","1.9").replace("2.0-2.4","2.0").replace("2.5-2.74","2.5").replace("2.74-2.9","2.74").replace("3.0-3.4","3.0").replace("3.5 or Higher","3.5");
如果可能的话,我想做这样的事情:

var gpa = '%%PATTERN:gpa%%'.replace("Less than 2.0","1.9");

其中,“%%模式:gpa%%”是动态传入的值,该值的输出是字符串。这段代码存在于出版商的创造性的双击中

可以在JavaScript中的一条语句中声明多个变量

var one = 1;
var two = 2;
var three = 3;

var one = 1, two = 2, three = 3;
…因此,在您的情况下,您可以用这样一句话声明:

var gpaEarned = '%%PATTERN:gpa%%', gpa = gpaEarned.replace("Less than 2.0","1.9").replace("2.0-2.4","2.0").replace("2.5-2.74","2.5").replace("2.74-2.9","2.74").replace("3.0-3.4","3.0").replace("3.5 or Higher","3.5");
如果不需要gpaEarned变量做任何事情,也可以通过只声明一个变量来实现。这也是有效的:

var gpa = '%%PATTERN:gpa%%'.replace("Less than 2.0","1.9").replace("2.0-2.4","2.0").replace("2.5-2.74","2.5").replace("2.74-2.9","2.74").replace("3.0-3.4","3.0").replace("3.5 or Higher","3.5");

如前所述,
replace()
调用都不会起任何作用,所以只需去掉第二行即可。显然,这不是你的意思,所以考虑再问问题更详细。写的代码是没有意义的。“如果它是可能的”-它当然是可能的,并将这样工作。你真的试过了吗?投了反对票?有什么解释吗?不知道为什么。我尝试一下你的解决方案。我没有否决投票,但问题是把它简化成一个变量,你仍然有两个变量,你只是把两个var语句组合起来。OP还询问直接在字符串文本上调用replace(),这样可以很好地工作。我添加了一个解决方案,在这个解决方案中,只有一个变量是为所有遇到问题的人声明的。谢谢大家。为可能混淆的事情道歉。我在这方面也是个新手(在我的职业生涯中,我是自学成才的),这主要归功于我公司的开发者和互联网。