我有一段代码来创建对象文字数组。该数组由另外两个字符串数组创建,一个将成为对象字面值colHeads
,另一个数组将为数据dataArr
。为同一对象文字添加不同的值javascript
colHeads = [name, state]
dataArr = [John A. Smith,Joan B. Jones]
var temp = [];
var tempObj = {};
for (var i=0; i<colHeads.length; ++i) { // columns
var dataArr = colDatas[i].split(",");
for (var j = 0; j < dataArr.length; j++) { // data
tempObj[colHeads[i]] = dataArr[j];
}
temp.push(tempObj);
}
最终阵列应该是这样的:
var data = [
{name: 'John A. Smith', state: 'CA'},
{name: 'Joan B. Jones', state: 'NY'}
];
问题就在这里,根据该行tempObj[colHeads[i]] = dataArr[0];
对象常量将与最后一个条目被替换在这两个阵列中,结果如下所示:
var data = [
{name: 'Joan B. Jones', state: 'NY'},
{name: 'Joan B. Jones', state: 'NY'}
];
我是新来的JavaScript,所以我不知道很多的语法
在你的第一个代码中,什么是'colDatas' – tyh
它只是另一个字符串数组,像'colDatas [0] =“John A. Smith,Joan B. Jones”' – Casper