[英]javascript push() method for adding object to array of objects
var model = {
cats: [
{
clickCount: 0,
name: "Panther",
imgUrl: "images/cat1.png"
},
{
clickCount: 0,
name: "Tiger",
imgUrl: "images/cat2.png"
},
{
clickCount: 0,
name: "Rocky",
imgUrl: "images/cat3.png"
},
{
clickCount: 0,
name: "Marshal",
imgUrl: "images/cat4.png"
},
{
clickCount: 0,
name: "Simpson",
imgUrl: "images/cat5.png"
},
{
clickCount: 0,
name: "Kajol",
imgUrl: "images/cat6.png"
}
]
};
catObject = {
name: document.getElementById('text-name').value,
url: document.getElementById('text-url').value,
count: document.getElementById('text-count').value
};
模型是一個對象數組。 我正在嘗試使用model.cats.push(catObject);添加另一個對象。 其中text-name,text-url,text-count是表單中文本框的ID。 我沒有得到想要的結果。 我看到只有catObject.name被推到model.cats上,而catObject.url和catObject.count沒有被添加,因此'undefined'是model.cats.imgUrl和model.cats.clickCount的值。 如果需要,我可以添加完整的代碼。 我嘗試過可能的事情。.有人可以檢查我是否在這里缺少任何東西嗎? 提前致謝。
更正
model
不是對象數組,而是model
是包含屬性(即cats
)的對象,該屬性是對象數組。
你說得對
根據您的描述,很明顯,您已經使用model.cats.push(catObject);
成功地將catObject
推入了cats
model.cats.push(catObject);
什么地方出了錯
您可能已經使用loop
訪問cats
數組中的元素,並且model.cats.imgUrl
您推送的最后一個對象的model.cats.clickCount
和model.cats.imgUrl
進行了undefined
,因為您將catObject
屬性命名為url
和count
(即,而不是imgUrl
和clickCount
)。 所以,僅僅更改屬性名稱imgUrl
和clickCount
來解決該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.