如何在侧面数组中创建一个对象并推送到object-javascript?

问题描述 投票:0回答:3
var TableData = [{
        str: "",
        val: "",
    }];

    TableData[0].str = "11";
    TableData[0].val = "22";

    TableData[1].str = "11";
    TableData[1].val = "22";

    console.log(TableData[0])

    // i need this output {str : "11", val : "22" }

但我在控制台中有此消息:

未捕获的TypeError:无法读取未定义的属性'atr'

javascript jquery node.js
3个回答
1
投票

您遇到错误,因为您的数组的索引1中没有任何内容。在分配strval之前将空对象放在索引上:

var TableData = [];

TableData[0] = {};
TableData[0].str = "11";
TableData[0].val = "22";

TableData[1] = {};
TableData[1].str = "11";
TableData[1].val = "22";

console.log(TableData[0])

2
投票

你得到Uncaught TypeError治疗undefined作为对象。 TableData[1]undefinedTableData[0]这是一个对象。在设置属性之前,需要将第二个元素设置为对象:

TableData[1] = {};
TableData[1].str = "11";
TableData[1].val = "22";

话虽这么说,你也可以使用Array.prototype.push和一个对象文字:

TableData.push({
   str: "11"
   ...
})

-1
投票

试试这个

var TableData = [{
        str: "",
        val: "",
    }];

    TableData[0].str = "11";
    TableData[0].val = "22";


    console.log(TableData[0])

当您尝试为索引1为数组分配内容时发生错误,该数组不存在

© www.soinside.com 2019 - 2024. All rights reserved.