我有点困惑。我有以下对象数组:
dataTest.rows = [{
"rowHeader": "",
"rowDesc": ["INFO1"],
"rowVal": [
["1", "2", "3", "4", "5", "6", "7", "8", "9"]
]
}, {
"rowHeader": "",
"rowDesc": ["INFO2"],
"rowVal": [
["1", "2", "3", "4", "5", "6", "7", "8", "9"]
]
}];
如果rowval
(例如在object1中为空),我如何用数组填充数组rowVal
中的数组?
我试过
for (i=0; i<9; i++){
(dataTest.rows[0]).rowVal[0][i]=i;
}
我是否应该完全删除标签'rowVal',然后将其添加到对象中以重建它?
答案 0 :(得分:1)
var dataTest={};
dataTest.rows = [{
"rowHeader": "",
"rowDesc": ["INFO1"],
"rowVal": [[]]
}, {
"rowHeader": "",
"rowDesc": ["INFO2"],
"rowVal": [[]]
}];
for (var i=0; i<dataTest.rows.length; i++){
// iteriates through the dataTest.rows array of objects
console.log("Entered row %i",i);
for (var j=1; j<=9; j++){
// converts number to string
dataTest.rows[i].rowVal[0][j]=j.toString();
console.log(dataTest.rows[i].rowVal[0][j]);
}
}
更新:已修复“dataTest.rows [i] .rowVal [0]未定义。”
答案 1 :(得分:0)
您可以使用.forEach()Array方法遍历数组X中的每个项目并将其推送到数组Y.
let dataTest= [{
"rowHeader": "",
"rowDesc": ["INFO1"],
"rowVal": []
},
{
"rowHeader": "",
"rowDesc": ["INFO2"],
"rowVal": [
["1", "2", "3", "4", "5", "6", "7", "8", "9"]
]
}];
dataTest[1].rowVal.forEach(number => {
dataTest[0].rowVal.push(number)
})
在这个例子中,forEach函数遍历dataTest [1] .rowVal中的每个项目,并将dataTest [0] .rowVal中的所有内容推送到数组中,这应该可以实现您的要求。