Heim > Web-Frontend > js-Tutorial > Hauptteil

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

coldplay.xixi
Freigeben: 2020-07-29 17:36:55
nach vorne
2383 Leute haben es durchsucht

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作为拷贝对象
Nach dem Login kopieren

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 } ]
Nach dem Login kopieren

2. Object.assign()

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

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 } ]
Nach dem Login kopieren

4 . Concat()

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

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 } ]
Nach dem Login kopieren

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
}
Nach dem Login kopieren

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}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage