2017-03-20 3 views
-2

Diese Funktion wird in einer ReactJS-Codebasis verwendet.NULL-Daten als undefiniert in einer Funktion festlegen?

Momentan werden Datumsangaben, die in dieser Funktion als "null" und nicht als Zeichenfolge übergeben werden, als 31. Dezember 1969 gerendert. Es sollte jedoch kein Datum angezeigt werden, wenn das Datum als Null übergeben wird.

Ich möchte meine Funktion unten ändern, um nach Null-Daten zu suchen und diese Daten auf undefined zu setzen. Wie soll ich das machen?

var formatTheDate = function(dateString, dateFormat) { 
    dateFormat = dateFormat || "MMMM DD YYYY, h:mm a"; 
    return moment.utc(new Date(dateString)).local().format(dateFormat); 
}; 
+2

Warum würden Sie sie auf undefined gesetzt werden sollen? Warum gibst du Nulldaten an diese Funktion an? – m0meni

Antwort

1

Überprüfen Sie einfach die dateString, bevor Sie versuchen, es zu verwenden.

var formatTheDate = function(dateString, dateFormat) { 
    dateFormat = dateFormat || "MMMM DD YYYY, h:mm a"; 
    return dateString 
    ? moment.utc(new Date(dateString)).local().format(dateFormat) 
    : undefined; 
}; 
0

Ist gerade nicht definiert oder null oder Ihre Wahl, wenn das Datum nicht gültig ist oder gibt das Standarddatum von Unix-Zeit 0.

var formatTheDate = function(dateString, dateFormat) { 
    var newDate = new Date(dateString); 
    //optionally return a value instead of undefined here 
    if(newDate == "Invalid Date" || newDate - new Date(null) == 0) return; 
    dateFormat = dateFormat || "MMMM DD YYYY, h:mm a"; 
    return moment.utc(newDate).local().format(dateFormat); 
};