var tags = {
112 :[
{ "tag":"Shyam", picx: 700, picy: 300 },
{ "tag":"Bob", picx: 340, picy: 120 },
{ "tag":"Jai", picx: 500, picy: 240 }
],
114 :[
{ "tag":"pen", picx: 300, picy: 100 },
{ "tag":"cd", picx: 440, picy: 220 },
{ "tag":"paper", picx: 600, picy: 440 }
] };
这是我拥有的对象数组,我想在变量标签中添加以下内容
115 :[
{ "tag":"bob", picx: 350, picy: 180 },
{ "tag":"tom", picx: 450, picy: 200 },
{ "tag":"dave", picx: 620, picy: 430 }
]
我尝试了
tags.push( {
115 :[
{ "tag":"bob", picx: 350, picy: 180 },
{ "tag":"tom", picx: 450, picy: 200 },
{ "tag":"dave", picx: 620, picy: 430 }
] } );
但是没用
答案 0 :(得分:0)
tag
不是数组,但是是对象。要将数据添加到对象中,您需要添加key
,然后将数据分配给key
:
var tags = {
112: [
{ "tag": "Shyam", picx: 700, picy: 300 },
{ "tag": "Bob", picx: 340, picy: 120 },
{ "tag": "Jai", picx: 500, picy: 240 }
],
114: [
{ "tag": "pen", picx: 300, picy: 100 },
{ "tag": "cd", picx: 440, picy: 220 },
{ "tag": "paper", picx: 600, picy: 440 }
]
};
并添加密钥115
并分配必要的数据:
tags[115] = [
{ "tag":"bob", picx: 350, picy: 180 },
{ "tag":"tom", picx: 450, picy: 200 },
{ "tag":"dave", picx: 620, picy: 430 }
];
console.log(`my tags: `, tags)
答案 1 :(得分:-1)
在将数组对象添加到对象内部时,您犯了一个错误,而push方法用于在数组内部添加对象。 因此,首先,您必须先将Object转换为数组,然后才能在Object对象中添加数组。
var tags = {
112 :[
{ "tag":"Shyam", picx: 700, picy: 300 },
{ "tag":"Bob", picx: 340, picy: 120 },
{ "tag":"Jai", picx: 500, picy: 240 }
],
114 :[
{ "tag":"pen", picx: 300, picy: 100 },
{ "tag":"cd", picx: 440, picy: 220 },
{ "tag":"paper", picx: 600, picy: 440 }
]
};
console.log(typeof(tags)); //shows object type
tags=Object.entries(tags);
tags.push({
115 :[
{ "tag":"bob", picx: 350, picy: 180 },
{ "tag":"tom", picx: 450, picy: 200 },
{ "tag":"dave", picx: 620, picy: 430 }
] } );
console.log(tags);