2016-06-20 10 views
1

Es wird versucht, einige Werte zu formatieren und auch eine if-Anweisung zu erstellen, falls der Wert null ist, aber mir eine Funktion anstelle eines Werts zurückgibt.Rückgabe der Funktion anstelle des Werts

Hier ist mein Code:

var data = _.map(information).map(function(x) { 
    return _.assign(x, { 
    age: function() { 
     if (x.age != null) { 
     x.age.toString(); 
     } 
    } 
    }); 
}); 
+1

Können Sie mit einem Beispiel erklären? – thefourtheye

+0

Wenn Sie lodash-Methoden verketten wollen, verwenden Sie die Syntax wie folgt: '_ (arr) .map (function() {...}). Value()'. –

Antwort

2

Ihre Funktion Inline-Rufen, wenn Sie erhalten möchten (vergessen und nicht return hinzufügen), um das Ergebnis:

age: (function() { 
    if (x.age != null) { 
     return x.age.toString(); 
    } 
})() 

jedoch nicht tun brauche eine Funktion, um zu überprüfen, ob der Wert nicht null ist. Sie können einen Booleschen Ausdruck schreiben:

age: x.age && x.age.toString() 

oder einen ternären Operator verwenden:

age: x.age ? x.age.toString() : undefined