繁体   English   中英

如何在javascript对象中填充数组?

[英]How do I fill up an array within an object in javascript?

我有点困惑。 我有以下对象数组:

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"]

        ]
    }];

如果object1中的rowVal为空,如何用循环填充array rowval内的数组?

我试过了

for (i=0; i<9; i++){
  (dataTest.rows[0]).rowVal[0][i]=i;
}

我应该完全删除标签“ rowVal”,然后将其添加到对象中以重建它吗?

 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]未定义”。

您可以使用.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中的数组,这应该可以实现您所要的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM