无法从javascript中的输入变量中获取数据

时间:2016-06-01 14:18:09

标签: javascript arrays variables each

我有像这样的代码javascript的数据

var params_1 = document.getElementById("params_1");
var params_2 = document.getElementById("params_2");
var line_1 = params_1.options[params_1.selectedIndex].text;
var line_2 = params_2.options[params_2.selectedIndex].text;

这是从javascript中的select选项中获取数据的方法,我在console.log()

中获得这样的数据
line_1 = "CPM"
line_2 = "CPA"

在我的思考中,我可以使用像这样的变量进行动态循环

var data_ln_1 = [], data_ln_2 = []; 
chart_1 = [object{CPM = 12, CPA = 13}, object{CPM = 13, CPA = 14}]
chart_1.forEach(function (i) {    
            data_ln_1.push(i.line_1);  
            data_ln_2.push(i.line_2);  
        });

必须得到像这样的数组

data_ln_1 = [12,13];
data_ln_2 = [13,14];

但结果只在[object, object]

我对此感到困惑,但当我将代码更改为

chart_1.forEach(function (i) {    
        data_ln_1.push(i.CPA);  
        data_ln_2.push(i.CPM);  
    });

我得到了结果data_ln_1 = [12,13]

但是,如果我使用它,那不是动态运行

任何人都可以给我一些动态运行循环的建议,所以我不需要将if变成each

1 个答案:

答案 0 :(得分:0)

最后我找到了答案,代码应该是这样的

chart_1.forEach(function (i) {    
        data_ln_1.push(i[line_1]);  
        data_ln_2.push(i[line_2]);  
    });

所以我可以找到像data_ln_1 = [12, 13]

这样的数组