2017-05-16 3 views
0

Ich habe ein Array von Objekten mit String Werte, die ich Date konvertieren wollen, aber ich bin immer folgende Fehlermeldung:Convert Werte in Array von Objekten

Uncaught SyntaxError: Unexpected token :

Wie soll ich diese Umwandlung richtig tun und die gleiche Objektstruktur zurückgeben?

array = [ 
    { 
     end: "2017-05-18T09:00:00.000Z", 
     start: "2017-05-18T06:00:00.000Z" 
    }, 
    { 
     end: "2017-05-19T07:00:00.000Z", 
     start: "2017-05-19T06:00:00.000Z" 
    }, 
    { 
     end: "2017-05-20T08:00:00.000Z", 
     start: "2017-05-20T07:00:00.000Z" 
    } 
] 

result = array.map((element) => { 
    { 
    end: new Date(element.end), 
    start: new Date(element.start), 
    } 
}) 
+2

youre fehlt ein * Return * –

+0

Sie wickeln die '{}' in Klammern .... 'array.map (element) => ({end, start})' sonst müssen Sie 'return' verwenden – Dom

Antwort

2

Sie entweder tun:

result = array.map(element => ({ 
end: new Date(element.end), 
start: new Date(element.start), 
})); 

OR:

result = array.map(element => { 
    return { 
    end: new Date(element.end), 
    start: new Date(element.start), 
    }; 
}) 

einen Blick auf ECMAScript6 arrow function that returns an object

1

Der Fehler Sie bekommen ist, weil hier Javascript denkt { end: new Date(element.end), start: new Date(element.start), } ist ein Codeblock. es ändern zu

result = array.map((element) => { 
    return { 
    end: new Date(element.end), 
    start: new Date(element.start), 
    } 
}) 
console.log(result) 

Sie eine Rückkehr sind vermisst.

1

haben, können Sie ein Objekt in Klammern Anzeige Rückgabewert wickeln könnte.

let array = [{ end: "2017-05-18T09:00:00.000Z", start: "2017-05-18T06:00:00.000Z" }, { end: "2017-05-19T07:00:00.000Z", start: "2017-05-19T06:00:00.000Z" }, { end: "2017-05-20T08:00:00.000Z", start: "2017-05-20T07:00:00.000Z" }], 
 
    result = array.map(element => ({ 
 
     end: new Date(element.end), 
 
     start: new Date(element.start), 
 
    })); 
 

 
console.log(result);

0

Objekt zurückzukehren den Pfeil-Funktion Sie zusätzliche Klammern benötigen, wie unten:

results = array.map(el => ({ end: new Date(el.end), start: new Date(el.start) })) 
Verwandte Themen