2015-09-18 4 views
5

Ich lerne JS und würde Ihre Hilfe sehr schätzen. Ich möchte gerne Funktionen und Rückrufe höherer Ordnung, wenn möglich.Wie geben Sie ein Objekt von einer Funktion zurück?

Aufgabe

  1. diese lokalen Variablen deklarieren und sie an die entsprechenden Informationen gleich machen, Vorname, Nachname, Linkedin, Telefon, Stadt.
  2. Verwenden Sie die Zeichenfolge Verkettung, machen Sie eine lokale Variable fullName gleich zu Ihrem Vor- und Nachnamen getrennt durch ein Leerzeichen.
  3. Machen Sie eine lokale Variable linkedIn, eine Zeichenfolge, die ein Link zu Ihrem LinkedIn-Profil ist.
  4. Machen Sie eine lokale Variable info, die ein Array Ihre fullname enthalten ist, linkedIn, Telefon und Stadt Variablen, in dieser Reihenfolge.
  5. Machen Sie eine lokale Variable Ausbildung das ist ein Array mit dem Namen Ihrer Hochschule/Universität, Studienrichtung, eine ganze Zahl, die Ihr Jahr der (erwarteten) Abschluss ist. Stellen Sie sicher, dass es in dieser Reihenfolge ist.
  6. Definieren Sie eine Funktion createApp, die Ihre Informationen und Schulungen als Argumente in dieser Reihenfolge enthält. Dies sollte ein Objekt zurückgeben, das 2 Schlüssel enthält. Die Schlüsselnamen müssen mit Ihren Variablennamen übereinstimmen. Setzen Sie die Werte dieser Schlüssel auf die entsprechenden Argumente.

Schritte 1-5: Erstellt lokalen Variablen.

(function person() { 
    var firstName = "Rob", 
    lastName = "Johnson", 
    fullName = firstName + ", " + lastName, 
    linkedIn = 'https://www.linkedin.com/in/robjohnson', 
    phone = 3105559288, 
    city = 'Los Angeles', 
    info = [firstName, linkedIn, phone, city], 
    education = ['UWRock','Generals','2017']; 
})(); 

Schritt 6. return ein Objekt, das 2-Tasten. Die Schlüsselnamen müssen mit Ihren Variablennamen übereinstimmen. Setzen Sie die Werte dieser Schlüssel auf die entsprechenden Argumente. Ich habe keine Ahnung, ich nehme an, das sollte dynamisch nicht hart codiert sein.

function createApp(info, education){ 
    var myObj = {}; 
    return(myObj); 
}; 

Ich glaube, ich bin suppose so etwas wie dieses mit einem Rückruf zurück:

myObj { 
    info:'Rob', 
    education: ['UWRock','Generals','2017'] 
}; 
+0

http://stackoverflow.com/questions/32496076/javascript-return-with-colon wird Ihnen helfen – Tushar

+0

Könnten Sie einen Code für Ihr Beispiel aufschreiben? var resultObject = {...? Es ist nicht klar, was Sie erreichen möchten – Trike

+0

@Trike, ich aktualisierte die Frage und gab das Beispiel. –

Antwort

0

I fand die Lösung.

function list() { 
    var firstName = "Rob", 
     lastName = "Johnson", 
     fullName = firstName + ", " + lastName, 
     linkedIn = 'https://www.linkedin.com/in/robjohnson', 
     phone = 3105559288, 
     city = 'Los Angeles', 
     info = [firstName, linkedIn, phone, city], 
     education = ['UWRock','Generals','2017']; 

    createApp(info,education); 

} 

function createApp(info, education){ 
    var emptyObj = {}, 
     strArr = ['info','education'], 
     myArray = [info, education]; 

     for (var i = 0; i < myArray.length; i++){ 
     emptyObj[strArr[i]] = myArray[i]; 
     } 

    console.log(emptyObj); 

} 

list(); 

Die Ergebnisse sind

[ Object ] { 
education: ["UWRock", "Generals", "2017"], 
info: ["Rob", "https://www.linkedin.com/in/robjohnson", 3105559288,"Los Angeles"] 
} 

Ich versuche, obwohl einen besseren Ansatz zu finden.

0

Hier können Sie sagen, haben folgende Funktion

var GraphicalFilters = (function() { 
    var SelectedFilters = {};  
    return { 
     initializaAllFilters: function(value1,value2) { 
        SelectedFilters = {}; 
        SelectedFilters.value1 = value1; 
        SelectedFilters.value2 = value2; 
     }, 
     getAllFilters: function() { 
      return SelectedFilters; 
     } 
    }; 
})(); 

Sie können folgende Objekt über erhalten:

GraphicalFilters.initializaAllFilters(1,2); 
var $filters = GraphicalFilters.getAllFilters(); 
+0

Das funktioniert, aber es folgt nicht den Richtlinien von der Herausforderung. Ich muss zuerst eine Funktion mit zwei Argumenten erstellen. Trotzdem danke! –

Verwandte Themen