javascript - 如何在 JavaScript 中使用循环函数声明变量 x1、x2、...、x10?

标签 javascript loops for-loop logic javascript-objects

我试图在 JavaScript 中运行以下代码来完成以下任务:声明一系列基本上具有相同名称但仅后缀不同的变量,后缀是一个整数,例如x1,x2,x3...等等。

我是 JavaScript 新手(事实上,我对编码世界完全陌生)。以下代码是我认为符合逻辑的代码,但它不想按照我想要的方式执行。

for (i = 1; i<11; i++) {
  var x+i = 'variable'+i;
  }

我还有点想做的事...

例如,我制作了如下所示的构造,然后继续创建自定义对象(student1、student2、student3)。我的最终目标是按顺序打印出学生的姓名和对其成绩的评论。我不想编写为每个学生打印出来的函数,而是编写一个循环来使这个过程更加高效。然而,事实证明,尝试做到这一点有点困难。这是代码:

var grade = function(grade) {
  switch (grade) {
      case "A": " could not do any better. Well done";
      break;
      case "C": " had average performance. There's room to improve.";
      break;
      case "F": ", an unfortunate result. Will have to try again next year.";
      break;
      default: ".";
      break;
      }
  };

function Student(name, sgrade) {
  this.name = name;
  this.grade = sgrade;
  this.print = function() {
    console.log(this.name+grade(this.grade));
  };
 }

var student1 = new Student("Candice R.", "A");
var student2 = new Student("Robert K.", "C");
var student3 = new Student("Steven M.", "F");

for (i = 1; i<4; i++) {
  student+i.print();
  }

/* student[i].print() also doesn't work */

有人可以告诉我我不完全理解的 JavaScript 逻辑不允许执行上述内容,还有其他方法吗?

最佳答案

正如 jfriend00 所说,您正在寻找的 JavaScript 片段是数组。

每当您发现自己向变量名称添加数字时,这都表明您可以将它们放入数组中。

所以你可以替换这个:

var student1 = new Student("Candice R.", "A");
var student2 = new Student("Robert K.", "C");
var student3 = new Student("Steven M.", "F");

这样:

var students = [];
students.push(new Student("Candice R.", "A"));
students.push(new Student("Robert K.", "C"));
students.push(new Student("Steven M.", "F"));

现在,这三个学生都一起存储在 students 数组中。第一个学生是在 students[0] 处访问的,您的 for 循环应该能够轻松地迭代它们。

也许有更好的方法来定义这组学生,但这是对现有代码的非常接近的翻译。

关于javascript - 如何在 JavaScript 中使用循环函数声明变量 x1、x2、...、x10?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35371651/

相关文章:

javascript - Highcharts : How to add click event on colorAxis in heatmap

c - 如何删除在C循环中作为函数调用的字符图像?

postgresql - postgres9.4 循环通过 jsonb : how select vals of key:val pairs

xml - 如何解决 XQUERY 1.0 FLOWR 中的自动增量 var 情况?

javascript - 使用 JS 客户端删除 Google Drive 文件

javascript - 从 phtml 文件访问 Javascript 命名空间

r - 目录中多个文件的循环线性模型

c - 显示数组总和的逻辑缺陷

javascript - 如何使用 Node js 迭代不规则嵌套 json

php - 三元运算符的不良做法