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

零下一度
零下一度original
2017-06-26 09:12:311891parcourir

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);
}

 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);
}

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);
}

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);
}

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);})
}

 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);
}

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));
}

 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);
}

 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));
}

 

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!

Déclaration:
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