JavaScript 数组和全局变量参考



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

忽略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];
}

尝试

return eval('string output code');

所以这看起来像

return eval(array output);

尝试以下:

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]]);
  }
}

相关内容

  • 没有找到相关文章

最新更新