Heim > Web-Frontend > js-Tutorial > Spread & Rest-Operator

Spread & Rest-Operator

WBOY
Freigeben: 2024-08-21 06:10:05
Original
1229 Leute haben es durchsucht

Spread & Rest Operator

  • Bilden Sie ein neues Array aus einem vorhandenen Array mit weniger Zeichenrauschen.
  • Spread extrahiert die Elemente als Werte. Es ist eine unveränderliche Funktion.
  • [] ist die Möglichkeit, neue Arrays zu schreiben. Daher verändert die Ausbreitung nicht das ursprüngliche Array.
  • Spread funktioniert auf allen Iterables, nicht nur auf Arrays.
  • Iterables: String, Array, Map, Set, d. h. meist integrierte Datenstrukturen mit Ausnahme des Objektdatentyps.
  • Unterschied zur Destrukturierung: Extrahiert alle Elemente aus einem Array und erstellt keine neuen Variablen, sondern wird nur an Stellen verwendet, die CSV-Werte erfordern.
  • Wird verwendet, wenn wir ein Array erstellen oder wenn wir Werte an eine Funktion übergeben.
const nums = [5,6,7];
const newNums = [1,2, nums[0],nums[1],nums[2]];
console.log(newNums); // [ 1, 2, 5, 6, 7 ]

is reduced to 

const nums = [5,6,7];
const newNums = [1,2, ...nums];
console.log(newNums); // [ 1, 2, 5, 6, 7 ]
console.log(...newNums); // 1 2 5 6 7
Nach dem Login kopieren

1. Führen Sie zwei Arrays zusammen

const arr1 = [1,2,3,4,5];
const arr2 = [6,7,8,9];

let nums = [...arr1,...arr2];
nums; // [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]


const firstname = "Peter";
const fullName = [...firstname,' ',"P."];
fullName; // [ 'P', 'e', 't', 'e', 'r', ' ', 'P.' ]

console.log(...firstname); // 'P' 'e' 't' 'e' 'r'
Nach dem Login kopieren
  • FEHLERQUELLE: Der Spread-Operator funktioniert nicht innerhalb einer Vorlagenzeichenfolge, da die Vorlagenzeichenfolge nicht mehrere Werte darin erwartet.

2. Erstellen flacher Kopien von Arrays

const girl = {
  name: 'Melania',
  friends: ['Alina', 'Alice', 'Ayesha', 'Anamika', 'Anaya']
};

const frnz = [...girl.friends];
console.log(frnz); // [ 'Alina', 'Alice', 'Ayesha', 'Anamika', 'Anaya' ]
console.log(girl.friends); // [ 'Alina', 'Alice', 'Ayesha', 'Anamika', 'Anaya' ]
Nach dem Login kopieren

Spread funktioniert auch bei Objekten, auch wenn diese nicht iterierbar sind.

let male = {
  "firstName": "Gangadhar",
  "lastName": "Shaktimaan"
}

let female = {
  "firstName": "Geeta",
  "lastName": "Vishwas"
}

let x = {...male, born: 1950};
let y = {...female, born: 1940};

x; // { firstName: 'Gangadhar',   lastName: 'Shaktimaan',   born: 1950 }
y; // { firstName: 'Geeta',  lastName: 'Vishwas',  born: 1940 }```




## Shallow Copy of objects:

let male = {
  "firstName": "Gangadhar",
  "lastName": "Shaktimaan"
}

let character = {...male, firstName: 'Wonderwoman'};

male;         // { firstName: 'Gangadhar', lastName: 'Shaktimaan' }
character;    // { firstName: 'Wonderwoman', lastName: 'Shaktimaan' }

- First name for character object is changed although it was extracted from male object


Nach dem Login kopieren

Ruhemuster und Ruheparameter:

  • Rest macht das Gegenteil von spread, hat aber die gleiche Syntax wie spread.
  • Spread wurde verwendet, um neue Arrays zu erstellen oder Werte an einen FN zu übergeben. In beiden Fällen wurde Spread verwendet, um Elemente zu erweitern.
  • Rest verwendet dieselbe Syntax, fasst diese Werte jedoch zu einem einzigen zusammen
  • Spread dient zum Entpacken von Elementen aus einem Array, Rest zum Packen von Elementen in ein Array. „

Unterschied in der Syntax des Spread- und Rest-Operators:
Spread-Operator => ... werden auf der rechten Seite des Zuweisungsoperators verwendet.
const nums = [9,4, ...[2,7,1]];

Rest-Operator => ... wird auf der linken Seite des Zuweisungsoperators mit Destrukturierung sein
const [x,y,...z] = [9,4, 2,7,1];

## Rest syntax collects all the elements after the last elements into an array. Doesn't include any skipped elements. 
- Hence, it should be the last element in the destructuring assignment.
- There can be only one rest in any destructuring assignment.
Nach dem Login kopieren

let diet = ['pizza', 'burger','noodles','roasted','sushi','dosa','uttapam'];

let [first, ,dritte, ...others] = diät;
zuerst;
dritter;
andere;

- Rest also works with objects. Only difference is that elements will be collected into a new object instead of an arrray.
Nach dem Login kopieren

let days = { 'mon':1,'tue':2,'wed':3,'thu':4,'fri':5,'sat':6,'sun':7};
let {sat, sun, ...working} = Tage;
loslassen = {Sa, So};

arbeitend; // { Mo: 1, Di: 2, Mi: 3, Do: 4, Fr: 5 }
aus; // { Sa: 6, So: 7 }

- Although both look same, but they work differently based on where they are used.

Nach dem Login kopieren

Subtile Unterscheidung s/w Ruhe und Ausbreitung:

  • Spread-Operator wird verwendet, wenn wir durch Kommas getrennte Werte schreiben würden
  • Rest-Muster wird verwendet, wir würden Variablennamen durch Kommas getrennt schreiben.

Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSpread & Rest-Operator. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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