2015-09-18 18 views
5

Sto imparando JS e gradirei molto il tuo aiuto. Mi piacerebbe avere funzioni di ordine superiore e callback, se possibile.Come si restituisce un oggetto da una funzione?

Task

  1. Dichiarare queste variabili locali e renderle uguali alle informazioni appropriate, nome, cognome, LinkedIn, telefono, città.
  2. Utilizzando la concatenazione di stringhe, creare una variabile locale fullName uguale al nome e al cognome separati da uno spazio.
  3. Creare una variabile locale collegataIn, una stringa che è un collegamento al proprio profilo LinkedIn.
  4. Fai un locale variabile informazioni che è una matrice contenente il tuo fullName, linkedIn, telefono, e città variabili, in questo ordine.
  5. Crea una variabile locale istruzione che è un array contenente il nome del tuo college/università, campo di studio, un numero intero che è il tuo anno di laurea (anticipata). Assicurati che sia in questo ordine.
  6. Definire una funzione creaApp che prende le informazioni e l'istruzione come argomenti in tale ordine. Questo dovrebbe restituire un oggetto contenente 2 chiavi. I nomi delle chiavi devono essere uguali ai nomi delle variabili. Imposta i valori di queste chiavi sugli argomenti corrispondenti.

Passi 1-5: variabili locali creati.

(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']; 
})(); 

passo 6. ritorno un oggetto contenente 2 chiavi. I nomi delle chiavi devono essere uguali ai nomi delle variabili. Imposta i valori di queste chiavi sugli argomenti corrispondenti. Non ne ho idea, presumo che questo dovrebbe essere dinamico non hard coded.

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

penso di essere supponiamo di restituire qualcosa di simile utilizzando un callback:

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

http://stackoverflow.com/questions/32496076/javascript-return-with-colon ti aiuterà – Tushar

+0

Potresti scrivere un codice per il tuo esempio? var resultObject = {...? Non è chiaro cosa vuoi ottenere – Trike

+0

@Trike, ho aggiornato la domanda e ho dato l'esempio. –

risposta

0

I trovato la soluzione

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(); 

I risultati sono

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

che sto cercando di trovare un approccio migliore però.

0

Diciamo che avere seguente funzione

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

È possibile ottenere l'oggetto tramite seguente:

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

Funziona, ma non segue le linee guida della sfida. Devo prima creare una funzione con due argomenti. Grazie comunque! –

Problemi correlati