首页 > 解决方案 > 如何在javascript中检查动态构造的变量名

问题描述

我正在控制台使用 a 记录一个字符串for loop,并将 for 循环索引号附加到每个字符串。但是,如果字符串与roastAboutCheapLvl1我定义的变量名称匹配,我希望改为显示变量内容。

到目前为止我已经尝试过:

var roastAboutCheapLvl1 = "it works";

for (var i = 1; i <= 5; i++) {
  var num = [i].toString();
  var a = "roastAboutCheapLvl" + num;
  console.log(a);
}

我所期望的:

it works   
roastAboutCheapLvl2  
roastAboutCheapLvl3  
roastAboutCheapLvl4   
roastAboutCheapLvl5

在上述尝试中我做错了什么?

标签: javascript

解决方案


我认为您正在询问如何在 javascript 中创建动态变量。请参阅此示例以了解如何执行此操作。

var roastAboutCheapLvl1 = "it works (1)";
var roastAboutCheapLvl3 = "it works again (3)";

for (var i = 1; i <= 5; i++) {
  var aa = window['roastAboutCheapLvl' + i];
  if (!aa){
    console.log('roastAboutCheapLvl' + i);
  }else{
    console.log(aa);
  }
  
}

请参阅此答案以获取解释:

在 JavaScript 中使用动态变量名


推荐阅读