Wenn ich diesen Code in Chromes Quellen-Tool in Inspect ausführen, heißt es Nummer = undefined für Zeile 7 (groceryList.forEach (Funktion (Nummer) {). Die Argumente werden ordnungsgemäß übergeben und wenn ich einen console.log für jedes Element zu tun zeigt es richtig. das gleiche Problem mit dem kommentierten aus .map Schnitt, der die gleiche Sache wie foreach tut.Javascript forEach/.map zeigt undefined
Kann mir jemand sagen, was ich falsch mache?
//BUSINESS LOGIC
var alphabatize = function(item1,item2,item3,item4){
groceryList = [item1,item2,item3,item4];
groceryList.sort();
upperGroceryList = []
groceryList.forEach(function(number) {
console.log(number);
upperGroceryList.push(number.toUpperCase());
});
/* upperGroceryList = groceryList.map(function(grocery) {
console.log(grocery);
return grocery.toUpperCase();
}); */
return groceryList;
return upperGroceryList;
};
// FRONT END
$(document).ready(function() {
$("form#items-form").submit(function(event) {
event.preventDefault();
var item1 = $("input#item1").val();
var item2 = $("input#item2").val();
var item3 = $("input#item3").val();
var item4 = $("input#item4").val();
alphabatize(item1,item2,item3,item4);
upperGroceryList.forEach(function(currentItem) {
$("#display-list ul").append("<li>" + currentItem + "</li>");
});
});
})