Я хочу создать массив литералов объекта, подобный этому
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
, указанный вверху.