Franz: Javascript, Array, Objekte kopieren

Beitrag lesen

Lieber Felix Riesterer
vielen vielen Dank an dich. Mit deinem Ansatz ist es mir nach vielen Fehlversuchen endlich gelungen.

Mein Vorgehen:
Zunächst mach ich mir die Tatsache zu Nutze, das die zu kopierenden Objekt vorher gerade erst frisch ans Array angefügt wurden. Das heißt ich kenne die Anzahl und ich weiß das diese sich am Array-Ende befinden.

Mein Hauptarray:

var arr1 = [
 {
  "LfdBearbId": 1,
  "BearbeitungTab": "TabHBohrO",
  "Bezeichnung": "",
  "FraesProg": "H_BLD_Pneu",
  "XPos": "21",
  "BemassungsArt": "1"
 },
 {
  "LfdBearbId": 2,
  "BearbeitungTab": "TabHBohrO",
  "Bezeichnung": "",
  "FraesProg": "H_BLD_Pneu",
  "XPos": "32",
  "BemassungsArt": "2"
 },
 {
  "LfdBearbId": 3,
  "BearbeitungTab": "TabHBohrO",
  "Bezeichnung": "",
  "FraesProg": "H_BLD_Pneu",
  "XPos": "64",
  "BemassungsArt": "2"
 }
];

Meine Verarbeitung:

const n = 2  // Anzahl der zu kopierenden Objekte
const arr2 = JSON.parse(JSON.stringify(arr1.slice(-n)));
/*
   arr1.slice(-n) extrahieren der Objekte vom Arrayende
   JSON.stringify(...) umwandeln der Objekte (die Verweise) in eine Zeichenkette mit Verlust aller Beziehungen
   const arr2 = JSON.parse(...) wieder umwandeln der Zeichenkette zu Objekten und speichern in einem neuen Array
*/
arr1 = arr1.concat(arr2) // erweiteren des alten Arrays mit den Objekten aus dem neuen Array
const max = arr1.length // neue Arraylänge ermitteln und in Variable speichern
for (var a=arr1.length-n;a<max;a++) {
   arr1[a]['XPos'] = 'Neuer Wert' // Schleife durchläuft die letzten Einträge und ändert Werte
}
console.log(arr1)

Endlich!
Es ist schon interessant:
Ein Browser kann heutzutage von Hause aus Bilder anzeigen, Dokumente öffnen, Audio- und Videos abspielen und programmierte Animation anzeigen.
Und beim kopieren von ein paar Zeilen Text bricht er sich die Ohren.😉

Danke an alle die sich meiner angenommen haben.

Mit freundlichen Grüßen
Franz