如何使用angularjs推入Json对象内部

时间:2017-04-18 11:41:12

标签: javascript angularjs json

我试着在json对象中推送一个对象,但它给了我一个重复的json对象,我将expalin: 继承人我的HTML:

addExternalLinktoGrid

这里是var linkJsonObj = []; var cp=1; company.addExternalLinktoGrid = function() { company.link.id=cp; currentObj.push(company.link); console.log(JSON.stringify(company.link)); linkJsonObj.push(company.link); console.log(JSON.stringify(linkJsonObj)); cp++; } 函数:

company.link.nom="toto"

例如,我们假设我们添加了新对象:company.link.value="titi"linkJsonObj,在本例中为[{"nom":"toto","value":"titi","id":1}] print:

company.link.nom="momo"

允许添加第二个对象company.link.value="mimi"linkJsonObj,在本例中为[{"nom":"momo","value":"mimi","id":2}, {"nom":"momo","value":"mimi","id":2}] print:

[{"nom":"toto","value":"titi","id":1},
 {"nom":"momo","value":"mimi","id":2}]

这就是我得到的,我不知道为什么?但预期的行为是:

http.connection.stalecheck$Boolean=true in hc.parameter file

httpclient4.retrycount=1

hc.parameter.file=hc.parameter

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

company.link in一个对象,如果你将这个对象推送到一个数组,它将通过引用传递。如果覆盖此对象的值,它将在您的数组中被覆盖。你需要的是复制对象(值)。如果将它多次推送到数组,则数组将包含对同一对象的多个引用。

var newObject = {
  nom: company.link.nom,
  value: company.link.value,
  id: cp
}
linkJsonObj.push(newObject);