Javascript动态哈希创建

时间:2011-10-21 21:46:25

标签: javascript hash

这是我的工作职能。如何动态创建dataObject? (我假设我知道有多少列) 我尝试使用eval函数动态创建变量'value + i',但没有成功。

    function parseCSV(rows){
        dataProvider = [];
        for (var i = 0; i < rows.length; i++){
            if (rows[i]) {                   
                var column = rows[i].split(","); 
                var date = someFunction(column[0]);
                var value1 = column[1];
                var value2 = column[2];
                var dataObject = {date:date, value1:value1, value2:value2};
                dataProvider.push(dataObject);
            }
        }
    }

谢谢你

2 个答案:

答案 0 :(得分:2)

方法很少。

首先:

var hash = new object();
hash["date"] = date;
hash["value1"] = value1;
hash["value2"] = value2;

第二

var hash = {};
hash["date"] = date;
hash["value1"] = value1;
hash["value2"] = value2;

第三

var hash = {"date" : date, "value1" : value1, "value2" : value2};

答案 1 :(得分:0)

如果您不知道有多少列,但想要创建一个充满valueX的对象:

var date = someFunction(column[0]);
var dataObject = {date: date};

for (var i=1; i < column.length; i++){
    dataObject['value' + i] = column[i];
}

而不是使用value1,...如果可能,您应该尝试使用更具描述性的名称。