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'
您遇到错误,因为您的数组的索引1中没有任何内容。在分配str
和val
之前将空对象放在索引上:
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])
你得到Uncaught TypeError
治疗undefined
作为对象。 TableData[1]
是undefined
与TableData[0]
这是一个对象。在设置属性之前,需要将第二个元素设置为对象:
TableData[1] = {};
TableData[1].str = "11";
TableData[1].val = "22";
话虽这么说,你也可以使用Array.prototype.push
和一个对象文字:
TableData.push({
str: "11"
...
})
试试这个
var TableData = [{
str: "",
val: "",
}];
TableData[0].str = "11";
TableData[0].val = "22";
console.log(TableData[0])
当您尝试为索引1
为数组分配内容时发生错误,该数组不存在