Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der Map- und Set-Instanzen in JavaScript
Map
Map ist eine Struktur aus Schlüssel-Wert-Paaren und hat eine extrem schnelle Suchgeschwindigkeit.
Definition der Karte.
//空map设值key-valuevar m = new Map(); m.set("XiaoMing",99); m.set("XiaoHong",66);//构造参数传key-valuevar m = new Map([['XiaoMing', 99], ['XiaoHong', 66]]);
Methoden in Map
var m = new Map(); // 空Mapm.set('XiaoMing', 99); // 添加新的key-valuem.has('XiaoMing'); // 是否存在key 'XiaoMing': truem.get('XiaoMing'); // 99m.delete('XiaoMing'); // 删除key 'XiaoMing'm.get('XiaoMing'); // undefined
Durch wiederholtes Festlegen eines Werts für einen Schlüssel überschreibt der nachfolgende Wert den vorherigen Wert.
var m = new Map(); m.set('XiaoMing', 99); m.set('XiaoMing', 98); m.get('XiaoMing'); // 98
Set
Set ähnelt Map, aber set speichert Schlüssel und die Schlüssel werden nicht wiederholt.
Erstellung des Sets.
var s1 = new Set(); // 空Sets1.add(1); s1.add(2); s1.add(3);var s2 = new Set([1, 2, 3]); // 含1, 2, 3
Duplikatwerte einfügen, Set filtert die Duplikatwerte
s = Set([1, 2, 33>>s; s.delete(3); >>s;
Map and Set Traversing
Array kann Indizes für die Schleifendurchquerung verwenden, Map und Set können jedoch keine Indizes verwenden. Um Sammlungstypen zu vereinheitlichen, wurden im ES6-Standard die iterierbaren Typen eingeführt, die alle zum iterierbaren Typ gehören.
Sammlungen mit dem Typ iterable
können über eine neue for ... of
-Schleife durchlaufen werden.
var a = ['A', 'B', 'C'];var s = new Set(['A', 'B', 'C']);var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);for (var x of a) { // 遍历Array alert(x); }for (var x of s) { // 遍历Set alert(x); }for (var x of m) { // 遍历Mapalert(x[0] + '=' + x[1]); }
Bessere Durchquerung: forEach
forEach ist eine integrierte Methode von iterable, die a empfängt function , diese Funktion wird bei jeder Iteration automatisch zurückgerufen.
var a = ['A', 'B', 'C']; a.forEach(function (element, index, array) {// element: 指向当前元素的值// index: 指向当前索引// array: 指向Array对象本身 alert(element); });
Set
ähnelt Array
, aber Set
hat keinen Index, sodass die ersten beiden Parameter der Rückruffunktion die Elemente selbst sind:
var s = new Set(['A', 'B', 'C']); s.forEach(function (element, sameElement, set) { alert(element); });
Die Callback-Funktionsparameter von Map
sind value
, key
und map
selbst:
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]); m.forEach(function (value, key, map) { alert(value); });
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Map- und Set-Instanzen in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!