2017-10-19 1 views
1

Im créant un objet et poussant à un tableau this.reminders, mais un non défini est également poussé pourquoi est-ce? Ce code va me donner du travail [ { description: 'Get to work in time', set_title: 'work related' }, undefined ]Article non défini enfoncé dans mon tableau?

var ReminderSet = function(set_name) { 
     this.set_name = set_name; 
     this.reminders = []; 
    }; 

    ReminderSet.prototype.add = function(reminder, title) { 
     this.reminders.push(reminder, title); 
     console.log(this.set_name, this.reminders) 

    }; 

    ReminderSet.prototype.list = function() { 
     console.log(this.reminders); 
    }; 

    var Reminder = function(description,set_title) { 
     this.description = description; 
     this.set_title = set_title; 
     //Describes the reminder 
    }; 

var work = new ReminderSet("work") 
      .add(new Reminder("Get to work in time", "work related")); 
+0

bien, votre méthode d'ajout pousse dans le rappel et le titre, mais votre votre code l'appelle avec un nouvel objet de rappel, et aucun titre;) – Icepickle

Répondre

3

Votre méthode add() prend deux paramètres:

ReminderSet.prototype.add = function(reminder, title) { /*...*/ } 

Mais vous passez seulement un (par exemple un objet Reminder):

var work = new ReminderSet("work") 
     .add(new Reminder("Get to work in time", "work related")); 

Cette provoque le second paramètre à être indéfini.

+0

juste oh mon gawd im juste probablement affamé –