说我有self.option1ToCheck
到self.option500ToCheck
不要使用500 if语句来检查这些变量是否未定义'我做了一个for循环。但是我遇到的问题是它将变量title
视为字符串而不是实际变量。
我的代码如下 - 我目前获得的结果是所有self.title
的未定义值。
这甚至可以做到,还是我正在切断
for (var p=1; p<500; p++) {
var title = 'option' + p + 'ToCheck';
if (self.title != undefined){
myArray.push(self.title);
}
}
答案 0 :(得分:0)
为此目的使用bracket notation
,
for (var p=1; p<500; p++) {
var cache = self['option' + p + 'ToCheck'];
if (cache !== undefined)
myArray.push(cache);
}
不要通过查看for循环中的变量定义来抬起眉毛。它将被提升到其直接的词汇范围。