Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung von Beispielen für die Set-Map-Datenstruktur in ES6

Detaillierte Erläuterung von Beispielen für die Set-Map-Datenstruktur in ES6

零下一度
零下一度Original
2017-06-26 09:12:311888Durchsuche

1. Legen Sie die Datenstruktur fest (verwenden Sie „new“, um eine Set-Sammlung zu erstellen, fügen Sie Elemente über die Add-Methode hinzu und ermitteln Sie die Länge der Set-Sammlung über die Größe)  

{
  let list = new Set();
  list.add(5);
  list.add(7);

  console.log('size',list.size);
}

 Es gibt eine andere Möglichkeit zur Initialisierung (durch direkte Übergabe des Arrays)

{
  let arr = [1,2,3,4,5];
  let list = new Set(arr);

  console.log('size',list.size);
}

set innerhalb Elemente können nicht wiederholt werden (Arrays können über diese Funktion von set dedupliziert werden. Hinweis: Die Datentypkonvertierung wird während des Konvertierungsvorgangs nicht durchgeführt)

{
  let list = new Set();
  list.add(1);
  list.add(2);
  list.add(1);//不会报错 只是不会生效

  console.log('list',list);

  let arr=[1,2,3,1,'2'];
  let list2=new Set(arr);

  console.log('unique',list2);
}

set Einige Methoden (hinzufügen, löschen, löschen, hat)

{
  let arr=['add','delete','clear','has'];
  let list=new Set(arr);

  console.log('has',list.has('add'));//是否包含
  console.log('delete',list.delete('add'),list);//清空
  list.clear();
  console.log('list',list);
}

Traversal of set (keys and value return beide gesetzt) ​​

{
  let arr=['add','delete','clear','has'];
  let list=new Set(arr);  for(let key of list.keys()){
    console.log('keys',key);
  }  for(let value of list.values()){
    console.log('value',value);
  }  for(let [key,value] of list.entries()){
    console.log('entries',key,value);
  }

  list.forEach(function(item){console.log(item);})
}

 WeakSet (die darin enthaltenen Elemente können nur Objekte sein und erkennen nicht, ob das hinzugefügte Objekt an anderer Stelle referenziert wird, keine Größenlöschung tut dies Traversal wird nicht unterstützt)

{
  let weakList=new WeakSet();

  let arg={};

  weakList.add(arg);  // weakList.add(2);
  console.log('weakList',weakList);
}

2. Kartendatenstruktur (Karte wird durch Schlüssel/Wert festgelegt, daher wird die Set-Methode zum Abrufen verwendet. Verwenden Sie die Get-Methode )  

{
  let map = new Map();
  let arr=['123'];

  map.set(arr,456);

  console.log('map',map,map.get(arr));
}

 Eine andere Möglichkeit, eine Karte zu definieren (gleichzeitig ist die Methode zum Löschen und Löschen der Größe dieselbe)

{
  let map = new Map([['a',123],['b',456]]);
  console.log('map args',map);
  console.log('size',map.size);
  console.log('delete',map.delete('a'),map);
  console.log('clear',map.clear(),map);
}

 weakMap-Datenstruktur (die gleichen Eigenschaften wie setMap)

{
  let weakmap=new WeakMap();

  let o={};
  weakmap.set(o,123);
  console.log(weakmap.get(o));
}

 

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für die Set-Map-Datenstruktur in ES6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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