我想创建一个像这样的对象文字数组
var data = [
{name: 'John A. Smith', state: 'CA'},
{name: 'Joan B. Jones', state: 'NY'}
];
name
和state
存储在数组columns
中。
John A. Smith
和CA
存储在数组data
中。
我试图以这种方式写作,但似乎我无法在columns[i]
之前使用:
,
var temp = [];
for (var i = 0; i < data.length; i++) {
temp.push({
columns[i]: data[i]
});
}
感谢Lochemage,它适用于我的专栏。这是我的整个代码:
var temp = [];
var tempObj = {};
for (var i=0; i<colHeads.length; i++) { // columns
var dataArr = '$colData.get(i)'.split(",");
for (var j = 0; j < dataArr.length; ++j) { // data
tempObj[colHeads[i]] = dataArr[j];
}
temp.push(tempObj);
}
此'$colData.get(i)'
似乎适用于直接索引(0,1,...),但它不能与i
一起使用。
顺便说一句,$colData
是来自速度标记的字符串数组;它包含字符串。在这个特殊问题中,它包含
[0]: CA, NY
[1]: John A. Smith, Joan B. Jones
我需要最终的结果是在顶部说明的data
数组。
答案 0 :(得分:1)
您必须将支架运算符与列值一起使用:
var temp = [];
var tempObj = {};
for (var i = 0; i < data.length; ++i) {
tempObj[columns[i]] = data[i];
}
temp.push(tempObj);