Sie haben nicht genau geklärt, was Sie wollten, aber ich habe versucht, Ihren Code zu erraten.
Meine Vermutung ist, dass Sie ein neues Array von Bewerbern aus dem alten Array von Bewerbern erstellen wollten, aber in dem neuen Array wollten Sie jedem Objekt in diesem Array eine Eigenschaft hinzufügen, die den Unterschied in den Tagen der beiden darstellt Termine.
Um dies zu tun, können Sie Array.prototype.map
verwenden, um jedes Element von Ihrem Array zu einem neuen Array zuzuordnen.
Ich verwende auch Object.assign
to clone each object, so dass das ursprüngliche Array nicht geändert wird.
Ich analysiere auch die Datumsstrings in Zahl. Die geparste Nummer ist die Anzahl der seit dem 1. Januar 1970 00:00:00 UTC verstrichenen Millisekunden. Wenn ich den Unterschied der zwei Zahlen nehme und teile, dass die millisecondsInADay
sein werden, dann werde ich erfahren, wie viele Tage dazwischen verstrichen sind. Das Ergebnis wird dann in einem neuen Array calculateDays
gespeichert.
Lassen Sie mich wissen, wenn Sie weitere Erläuterungen benötigen.
let applicants = [{
date_from: '2017-05-05',
date_to: '2017-05-10'
}, {
date_from: '2017-05-08',
date_to: '2017-05-12'
}]
const millisecondsInADay = 1000 * 60 * 60 * 24;
const calculateDays = applicants.map(obj => Object.assign({}, obj, {
total_days: ((
Date.parse(obj.date_to) - Date.parse(obj.date_from)
)/millisecondsInADay) + ' days'
}));
console.log(calculateDays);
'calculateDays' ohnehin nicht definiert werden, denn das ist, was forEach zurückgibt - nur –
nicht nur das, Sie haben ein Semikolon zu viel und' Antragsteller [ ‚total_days‘] 'wird das Ergebnis der letzten Schleife') +1; '<--- –
Das unerwartete Token ist das' '' '- das einzige Semikolon, das du benutzt hast, ist das einzige, das es nicht sein kann - und zwei Stellen, die es sein sollte, du hast noch keins benutzt !!! WTF –