Maison > interface Web > js tutoriel > Explication détaillée d'exemples de structure de données set-map dans ES6

Explication détaillée d'exemples de structure de données set-map dans ES6

零下一度
Libérer: 2017-06-26 09:12:31
original
1890 Les gens l'ont consulté

1. Définir la structure des données (utilisez new pour créer une collection d'ensembles, ajouter des éléments via la méthode add et obtenir la longueur de la collection d'ensembles en fonction de la taille)  

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

  console.log('size',list.size);
}
Copier après la connexion

 Il existe une autre façon d'initialiser (en passant directement le tableau)

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

  console.log('size',list.size);
}
Copier après la connexion

set Les éléments intérieurs ne peuvent pas être répétés (les tableaux peuvent être dédupliqués grâce à cette fonctionnalité de set. Remarque : la conversion du type de données ne sera pas effectuée pendant le processus de conversion)

{
  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);
}
Copier après la connexion

set Quelques méthodes (ajouter, supprimer, effacer, has)

{
  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);
}
Copier après la connexion

Parcours de l'ensemble (les clés et les valeurs renvoient les deux définis)

{
  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);})
}
Copier après la connexion

 WeakSet (les éléments à l'intérieur ne peuvent être que des objets, et ne détecteront pas si l'objet ajouté est référencé ailleurs, aucune taille claire ne le fait ne prend pas en charge la traversée)

{
  let weakList=new WeakSet();

  let arg={};

  weakList.add(arg);  // weakList.add(2);
  console.log('weakList',weakList);
}
Copier après la connexion

2. Structure des données de la carte (la carte est définie via clé/valeur, donc la méthode set est utilisée pour obtenir en utilisant la méthode get )  

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

  map.set(arr,456);

  console.log('map',map,map.get(arr));
}
Copier après la connexion

 Une autre façon de définir la carte (en même temps, la méthode d'effacement de la taille est la même)

{
  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);
}
Copier après la connexion

 Structure de données WeakMap (les mêmes caractéristiques que setMap)

{
  let weakmap=new WeakMap();

  let o={};
  weakmap.set(o,123);
  console.log(weakmap.get(o));
}
Copier après la connexion

 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal