簡體   English   中英

用於將對象添加到對象數組的javascript push()方法

[英]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.clickCountmodel.cats.imgUrl進行了undefined ,因為您將catObject屬性命名為urlcount (即,而不是imgUrlclickCount )。 所以,僅僅更改屬性名稱imgUrlclickCount來解決該問題。

更正的代碼在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM