JavaScript Array&全局变量参考

时间:2016-12-16 19:01:12

标签: javascript global-variables local-variables

我试图使用我的数组输出引用全局变量的值,但我不确定如何做到这一点。我想在函数之外创建这些引用,因为我需要创建许多使用这些变量的函数。

忽略PFGetValue部分,我需要将其用于我编写的程序。还有更多dd_meg_x但这只是为了向您展示我正在做什么。目前,这将返回正确的文本“dd_meg_x” - 但我想引用上面定义的变量。例如,如果数组中的结果是dd_meg_1,我希望输出为“M Energy 16”

var dd_meg_1 = "M Energy 16";
var dd_meg_2 = "Ulra Energy";
var dd_meg_3 = "Another Option Here";

function canOrderMeg1() {
  var brand = "meg";
  var arrayLength = 21;
  var canArray = [];
  var variableName;

  for (i = 0; i <= arrayLength; i++) {
    variableName = ("dd_" + brand + "_" + i);
    if (PFGetValue(variableName) === "Y") {
        canArray.push(variableName);
    }
    canArray.join(", ");
  }
  return canArray[0];
}

function canOrderMeg2() {
  var brand = "meg";
  var arrayLength = 21;
  var canArray = [];
  var variableName;

  for (i = 0; i <= arrayLength; i++) {
    variableName = ("dd_" + brand + "_" + i);
    if (PFGetValue(variableName) === "Y") {
        canArray.push(variableName);
    }
    canArray.join(", ");
  }
  return canArray[1];
}

2 个答案:

答案 0 :(得分:0)

尝试

return eval('string output code');

所以这看起来像

return eval(array output);

答案 1 :(得分:0)

试试这个:

&#13;
&#13;
var dd_meg_1 = "M Energy 16";
var dd_meg_2 = "Ulra Energy";
var dd_meg_3 = "Another Option Here";

function canOrderMeg1() {
  return ["dd_meg_1", "dd_meg_2", "dd_meg_3"];
}

for(let i = 0; i < canOrderMeg1().length; i++){
  if(typeof canOrderMeg1()[i] !== "undefined") {
    console.log(window[canOrderMeg1()[i]]);
  }
}
&#13;
&#13;
&#13;