我正在尝试使用我的数组输出来引用全局变量的值,但我不确定如何做到这一点。我想在功能之外进行这些引用,因为我需要创建许多使用这些变量的函数。
忽略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]]);
}
}