我试着在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
任何人都可以帮忙吗?
答案 0 :(得分:1)
company.link in一个对象,如果你将这个对象推送到一个数组,它将通过引用传递。如果覆盖此对象的值,它将在您的数组中被覆盖。你需要的是复制对象(值)。如果将它多次推送到数组,则数组将包含对同一对象的多个引用。
var newObject = {
nom: company.link.nom,
value: company.link.value,
id: cp
}
linkJsonObj.push(newObject);