如何将数组添加到json对象的数组中


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 } 
] } );

但不起作用

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)

在对象中添加数组对象时出错,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);

最新更新