Heim >Web-Frontend >js-Tutorial >Beispiel für einen JS-Deep-Copy-Vorgang von Arrays und Objekten

Beispiel für einen JS-Deep-Copy-Vorgang von Arrays und Objekten

coldplay.xixi
coldplay.xixinach vorne
2020-07-29 17:36:552453Durchsuche

Beispiel für einen JS-Deep-Copy-Vorgang von Arrays und Objekten

Das Beispiel in diesem Artikel beschreibt den Deep-Copy-Vorgang von JS-Arrays und -Objekten. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

1. Tiefe Kopie des Arrays

let arr = [
 undefined,
 function(){
  console.log(123); 
 },
 true,
 null,
 {
  name:"123",
  age:23
 }
];
// arr作为拷贝对象

1. Array.from()

Array.from( ) kann ein Array kopieren. Das Klassenarray wird in ein echtes Array konvertiert, sodass ein neues Array zurückgegeben wird.

let arr1 = Array.from(arr);
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]

2. Object.assign()

let arr1 = Object.assign([], arr)
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]

Diese Methode kann auch als tiefe Kopie des Objekts verwendet werden

3. Slice()

let arr1 = arr.slice(0);
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]

4 . Concat()

let arr1 = arr.concat();
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]

5. Erweiterter Operator Deep Copy

// let [...arr1] = arr; // 这两种都可以
let arr1 = [...arr];
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]

Diese Methode kann auch als tiefe Kopie eines Objekts verwendet werden

2 eines Objekts

let obj = {
 name: "a",
 age: 20,
 sex: false,
 user: {
  a: 20,
  n: "b"
 },
 f: function(){
  return 1;
 },
 u: undefined,
 n: null
}

Verwenden Sie den Spread-Operator und die Methode Object.assign(), um Objekte tief zu kopieren

let obj1 = Object.assign({}, obj)
obj[age] = 2;
console.log(obj1);
// let obj = { name: "a", age: 20, sex: false,user: {a: 20,n: "b},f: function(){return 1;},u: undefined,n: null}

Verwandte Lernempfehlungen: Javascript-Video-Tutorial

Das obige ist der detaillierte Inhalt vonBeispiel für einen JS-Deep-Copy-Vorgang von Arrays und Objekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen