使用数组来检查数据

时间:2013-08-14 05:30:40

标签: javascript

我有一个数组,我用来循环我存储在变量中的div ...但我想使用数组中的值作为我想检查的变量名称的一部分。

以下是我试图做的一个例子:

 var data_one = document.getElementById('test'),
     data_two = document.getElementById('test2'),
     array = ['one','two'];


 for (var i = 0; i < array.length; i++) { //error on this line

   if(parseInt(data_+array[i]) < 3){
         //do something
    }

 }

但我收到此错误Uncaught ReferenceError: data_ is not defined

有没有办法使用数组值来像变量名一样?

3 个答案:

答案 0 :(得分:3)

怎么样:

var data = [ 
    document.getElementById('test'), 
    document.getElementById('test2') 
];

for (var i = 0; i < data.length; i++) {
    if(parseInt(data[i]) < 3){
         //do something
    }
}

或与对象:

var data = { 
    'one': document.getElementById('test'), 
    'two': document.getElementById('test2') 
};

for (var i in data) {
    if(parseInt(data[i]) < 3){
         //do something
    }
}

答案 1 :(得分:0)

使用eval将字符串评估为javascript代码

var data_a = 12;
var b = "a";

alert("data_"+b);       // alerts data_a
alert(eval("data_"+b));  // alerts 12

请参阅http://jsfiddle.net/ftGhd/

答案 2 :(得分:-2)

var data_one = document.getElementById('test'),
     data_two = document.getElementById('test2'),
     array = ['one','two'];


 for (var i = 0; i < array.length; i++) {
   eval("var curr_array = data_"+array[i]);
   if(parseInt(curr_array) < 3){
         //do something
    }

 }