Hallo liebe JQuery-Comunity,
nach langer Abstinens meinerseits, habe ich wieder ein kleines Problem, was ich selber nicht lösen konnte und auch durch Google nicht sorichtig Klarheit bekommen habe.
(Das Array-Handling in JavaScript finde ich echt miß, das nur mal am Rande).
Mein Problem ist das ich mehrere Datensätze (als assoziatives Array -> {} ) in ein nummeric Array -> [] pushen will (Zeile 17, im Code-Teil).
mein Problem ist nicht, das es nicht funktioniert....
das assoziative Array 'tempArrayOneDateRow' wird in Zeile fünf befüllt und in Zeile 15 mit jeweils einem anderen Datum befüllt, und anschließend in das nummeric
Array 'dataArray' hinzugefügt (Zeile 17).
In den nächsten Schleifendurchgänge wird quasi das selbe Array nochmal genommen aber das Datum ändert sich hier immer.
... sondern das das Datum immer das selbe ist (Ausgabe in Zeile 22 -> siehe Konsolenausgabe unten). Doch wenn ich mir in jedem Schleifendurchgang mittels console.log() in Zeile 16 das tempArrayOneDateRow ausgeben lasse, befor es durch die push-Methode in das numeric Array landet, steht da tatzächlich immer ein anderes Datum drin (Siehe Konsolenausgabe unten).
Könnte es vielleicht sein, das durch die push-Funktion die vorhergehenden Einträge, im multidimensionalem Array mit überschrieben werden?
Ausgaben:
nach langer Abstinens meinerseits, habe ich wieder ein kleines Problem, was ich selber nicht lösen konnte und auch durch Google nicht sorichtig Klarheit bekommen habe.
(Das Array-Handling in JavaScript finde ich echt miß, das nur mal am Rande).
Mein Problem ist das ich mehrere Datensätze (als assoziatives Array -> {} ) in ein nummeric Array -> [] pushen will (Zeile 17, im Code-Teil).
mein Problem ist nicht, das es nicht funktioniert....
das assoziative Array 'tempArrayOneDateRow' wird in Zeile fünf befüllt und in Zeile 15 mit jeweils einem anderen Datum befüllt, und anschließend in das nummeric
Array 'dataArray' hinzugefügt (Zeile 17).
In den nächsten Schleifendurchgänge wird quasi das selbe Array nochmal genommen aber das Datum ändert sich hier immer.
... sondern das das Datum immer das selbe ist (Ausgabe in Zeile 22 -> siehe Konsolenausgabe unten). Doch wenn ich mir in jedem Schleifendurchgang mittels console.log() in Zeile 16 das tempArrayOneDateRow ausgeben lasse, befor es durch die push-Methode in das numeric Array landet, steht da tatzächlich immer ein anderes Datum drin (Siehe Konsolenausgabe unten).
Könnte es vielleicht sein, das durch die push-Funktion die vorhergehenden Einträge, im multidimensionalem Array mit überschrieben werden?
Javascript:
var dataArray = [];
[...]
var tempArrayOneDateRow = {};
$.each(tempArrayDateRange, function(key2, value2){
if(key2 !== 'startDatum' && key2 !== 'endDatum')
tempArrayOneDateRow[key2] = tempArrayDateRange[key2];
if(cn === 1 && tempArrayDateRange['startDatum'] !== null && tempArrayDateRange['startDatum'] !== 'undefined'
&& tempArrayDateRange['endDatum'] != null && tempArrayDateRange['endDatum'] !== 'undefined'){
var startDate = moment(tempArrayDateRange["startDatum"], "DD.MM.YYYY").locale('de');
var endDate = moment(tempArrayDateRange["endDatum"], "DD.MM.YYYY").locale('de');
var diffDays = endDate.diff(startDate, 'days')+1;
if( diffDays > 1){
for(var i=0; i<diffDays; i++){
tempArrayOneDateRow.Datum = startDate.add(i, 'd').format('DD.MM.YYYY');
console.log('tempArrayOneDateRow[Datum]: '+JSON.stringify(tempArrayOneDateRow));
dataArray.push(tempArrayOneDateRow);
}
}
}
[...]
}
console.log('dataArray: '+JSON.stringify(dataArray));
Ausgaben:
Code:
Ausgabe des gesamten multi-Array dataArray
dataArray: [{"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"20.09.2018"},
{"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"20.09.2018"},
{"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"20.09.2018"},
{"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"20.09.2018"},
{"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"20.09.2018"},
[...]
Ausgabe von tempArrayOneDateRow[Datum] in jedem Schleifendurchgang
tempArrayOneDateRow[Datum]: {"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"10.09.2018"}
tempArrayOneDateRow[Datum]: {"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"11.09.2018"}
tempArrayOneDateRow[Datum]: {"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"12.09.2018"}
tempArrayOneDateRow[Datum]: {"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"13.09.2018"}
tempArrayOneDateRow[Datum]: {"Name":"Rp","Vorname":"Rnd","PersonalNr":"","Status":"","K_ID":"17","KB_ID":"1","ST_ID":"4","Vertragsart":"ANÜ","Notiz":"","Datum":"14.09.2018"}