Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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/3/arrays/12.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/5/excel/23.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_Variables_For Loop - Fatal编程技术网

JavaScript。引用动态创建的变量

JavaScript。引用动态创建的变量,javascript,arrays,variables,for-loop,Javascript,Arrays,Variables,For Loop,我有一个用于动态创建变量的for循环。比如0分,1分,2分等等。第一部分很有魅力。而score0、score1、score2等的创建正如我在这一行中所期望的: this["score"+i] = 8; 变量被创建。在循环之外,我可以记录分数[2],这是有效的。 不过 我似乎不知道如何在for循环中引用创建的变量。我试过一些不同的选择 备选案文1: arr = [1,2,3]; for (var i = 0; i < arr.length; i++) { this["score"+i

我有一个用于动态创建变量的for循环。比如0分,1分,2分等等。第一部分很有魅力。而score0、score1、score2等的创建正如我在这一行中所期望的:

this["score"+i] = 8;
变量被创建。在循环之外,我可以记录分数[2],这是有效的。 不过

我似乎不知道如何在for循环中引用创建的变量。我试过一些不同的选择

备选案文1:

arr = [1,2,3];

for (var i = 0; i < arr.length; i++) {
  this["score"+i] = 8;
  this["scorePercentage"+i] = this.score[i] * 10 / 100;
}
备选案文2:

arr = [1,2,3];

for (var i = 0; i < arr.length; i++) {
  this["score"+i] = 8;
  this["scorePercentage"+i] = score[i] * 10 / 100;
}
如何在循环中引用已创建的变量


提前多谢。

您每次都以同样的方式引用它

var arr = [1,2,3];

for (var i = 0; i < arr.length; i++) {
  this["score"+i] = 8;
  this["scorePercentage"+i] = this["score"+i] * 10 / 100;
}

你每次都是以同样的方式引用它

var arr = [1,2,3];

for (var i = 0; i < arr.length; i++) {
  this["score"+i] = 8;
  this["scorePercentage"+i] = this["score"+i] * 10 / 100;
}

为什么不使用具有所需属性的对象数组呢

变量数组=[1,2,3], objects=array.mapfunction值{ 返回{ 得分:8分, 百分比:8*10%100 }; };
console.logobjects 为什么不使用具有所需属性的对象数组呢

变量数组=[1,2,3], objects=array.mapfunction值{ 返回{ 得分:8分, 百分比:8*10%100 }; };
console.logobjects 您的代码有几处错误

您可以这样定义变量:score0、score1、score2,然后尝试引用从未创建过的分数数组。分数1与分数[1]不同 arr从未声明过。如果您必须在严格模式下运行代码,这将导致问题 您正在使用此函数定义变量。因为您没有包含一个使用JS框架的标记,所以我假设您使用的是vanilla JS。使用它来引用窗口对象,因为如果您重构代码并将其放入函数中,然后在严格模式下运行,您将遇到错误。检查 做你想做的事情的最好方法是这样:

var arr = [1,2,3];
var score = [];
var scorePercentage = [];
for (var i = 0; i < arr.length; i++) {
  score.push(8);
  scorePercentage.push( score[i] * 10 / 100 );
}

您的代码有几处错误

您可以这样定义变量:score0、score1、score2,然后尝试引用从未创建过的分数数组。分数1与分数[1]不同 arr从未声明过。如果您必须在严格模式下运行代码,这将导致问题 您正在使用此函数定义变量。因为您没有包含一个使用JS框架的标记,所以我假设您使用的是vanilla JS。使用它来引用窗口对象,因为如果您重构代码并将其放入函数中,然后在严格模式下运行,您将遇到错误。检查 做你想做的事情的最好方法是这样:

var arr = [1,2,3];
var score = [];
var scorePercentage = [];
for (var i = 0; i < arr.length; i++) {
  score.push(8);
  scorePercentage.push( score[i] * 10 / 100 );
}

为什么要创建这样的变量而不是使用数组或对象呢。为此使用一个数组,这样可以避免将来的一些麻烦。在JavaScript中创建这样的编号变量是一种反模式。您可以描述您试图解决的具体问题,而不是询问此特定代码吗?-例如,如何根据一系列值计算分数和百分比显示输入和预期输出以与定义相同的方式访问:this[scorePercentage+i]=this[score+i]*10/100;}@这与保罗5分钟前在下面写的有什么不同?为什么要创建这样的变量而不是使用数组或对象?确实如此。为此使用一个数组,这样可以避免将来的一些麻烦。在JavaScript中创建这样的编号变量是一种反模式。您可以描述您试图解决的具体问题,而不是询问此特定代码吗?-例如,如何根据一系列值计算分数和百分比显示输入和预期输出以与定义相同的方式访问:this[scorePercentage+i]=this[score+i]*10/100;}@这和保罗5分钟前在下面写的有什么不同?