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'
答案 0 :(得分:2)
您获得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"
...
})
答案 1 :(得分:1)
您出错,因为数组索引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])
答案 2 :(得分:-1)
尝试这么多
var TableData = [{
str: "",
val: "",
}];
TableData[0].str = "11";
TableData[0].val = "22";
console.log(TableData[0])
发生错误,因为您正在尝试为不存在的数组的索引1
的元素分配某些内容