0

我解决了这个问题。你是对的,我正在运行一个问题所在的函数。如果有人想查看我在下面附上的解决方案。这绝不是为了看起来不错只是功能。谢谢你至少看着它。并更清楚地回答问题。这是一项调试任务,因为我正在努力通过学校全面了解。正如我所说,我不是在寻找任何人来为我解决问题,只是为了指导我,这样我就可以解决自己。我在开发者社区中遇到的大多数人都非常乐于助人,所以我只是想在我的新工作中寻求帮助。谢谢大家的帮助。我再次完全解决了所有 10 个错误,这就是 //error# 的含义,并且相信会收到 100%。我知道调试可能看起来是初学者和平凡的,但我们曾经都是初学者。如果有人想玩,则再次链接到已解决项目的链接,其中包含已解决和未解决项目的副本。通过这种方式,我为被问到的问题提供了一个好处。

https://www.dropbox.com/sh/vngg7j478h6zgcv/SVZF1bep6w

对象数组:

var flavors = [
{
    "flavor": "Vanilla",
    "favorite": "Yes!",
    "notes": "Great for sundaes."
},
{
    "flavor": "Chocolate",
    "favorite": "Yes!",//first error
    "notes": "All parts chocolate. What's not to love?"
},
{
    "flavor": "Neapolitan",
    "favorite": "No",
    "notes": "I dislike the strawberry chunks."
}
];

将表单数据推送到数组的代码:

var saveFlavor = function(){

var fav = getFavorite();   
//error 5 not fixed
var newFlavor = function() {
    flavors.flavor = document.getElementById('flavor').value,
    flavors.favorite = fav, //error 6 not fixed 
    flavors.notes = document.getElementById('notes').value //error 7
    };
    flavors.push(newFlavor);
    console.log(newFlavor)

    location.href="#home";
    document.getElementById('list').innerHTML = "";

};
var save = document.getElementById("submitFlavor"); //error 8
save.addEventListener("click", saveFlavor);

调用数据:

var showFlavors = function(){
for(var i=0, len=flavors.length; i<len; i++){ //error 2
    var newLi = document.createElement('li');   
    document.getElementById('list').appendChild(newLi);
      var heading =document.createElement('h3');
          heading.innerHTML = flavors[i].flavor;
          newLi.appendChild(heading);
  var pNotes = document.createElement('p');
          pNotes.innerHTML= flavors[i].notes;
          newLi.appendChild(pNotes);
  var pFav = document.createElement('p');
        if(flavors[i].favorite == "Yes!") {
            flav = "Yes";
            } else if (flavors[i].favorite == "No") {
            flav = "No";
    };
    console.log(flav)
    pFav.innerHTML= flav; //error 3 
    newLi.appendChild(pFav);
    console.log(newLi); 
};


};

它确实推送到数组,但返回为未定义如果您需要查看更多信息,我还将此代码放在此处。https://www.dropbox.com/sh/ee0usbthykoqllg/cZi_K6zst2

我在此调试过程中修复了所有其他问题,但是我无法解决我返回未定义的原因。我不是在看有人给我答案,而是在寻找关于我做错了什么的指导。当我开始时它根本不起作用,我已经修复了其余的只是需要帮助。谢谢。

4

1 回答 1

1

newFlavor不是对象,而是函数。这是创建对象的方式:

var newFlavor = {
    flavor: document.getElementById('flavor').value,
    favorite: fav, //error 6 not fixed 
    notes: document.getElementById('notes').value //error 7
};
于 2013-05-12T17:32:28.873 回答