Hallo Franz,
JSON.parse(JSON.stringify(arr1.slice(-n)));
also, bevor Du in diesem Kaninchenloch auf ein schwarzes Kaninchen oder gar die Herzkönigin triffst…
Folge lieber dem hier: 🕳️🐇 🏃💨
Du kannst in einem Rutsch kopieren und anpassen. Vorausgesetzt, dass Du den neuen Wert im forEach-Callback gut bestimmen kannst.
arr1.slice(-2).forEach(function(element) {
const copy = {...element}; // Kopie des Elements
copy.XPos = 'Neuer Wert'; // Fix
arr1.push(copy); // Ab ins Array
});
Es geht auch mit einer for...of Schleife (das ist das prozedurale Gegenstück zur forEach Funktion):
for (let element of arr1.slice(-2)) {
const copy = {...element};
copy.XPos = 'Neuer Wert';
arr1.push(copy);
}
copy.XPos? Ja, das ist ein normaler String als Key, da brauchst Du keine ["XPos"] Schreibweise. Hab ich bislang im Thread nicht drauf geachtet.
Da deine Array-Einträge reine Key-Value Paare sind, ist die Frage nach flacher oder tiefer Kopie eh irrelevant.
Rolf
--
sumpsi - posui - obstruxi
sumpsi - posui - obstruxi