我试图使用我的数组输出引用全局变量的值,但我不确定如何做到这一点。我想在函数之外创建这些引用,因为我需要创建许多使用这些变量的函数。
忽略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];
}
答案 0 :(得分:0)
尝试
return eval('string output code');
所以这看起来像
return eval(array output);
答案 1 :(得分:0)
试试这个:
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;