7. Set, Map, WeakSet 和 WeakMap 的区别

1. Set 

let myArray = [1,2,3,4];
let mySet = new Set(myArray);

// add
mySet.add('100'); // [1,2,3,4,'100']
mySet.add({a:1,b:2}); //[1,2,3,4,'100',{a:1,b:2}]

// delete
mySet.delete(2); // [1,3,4,'100',{a:1,b:2}]

// clear
mySet.clear(); // clear all []

// forEach
mySet.forEach(function (value) {
  console.log(value);
});

  

2. Map

let myMap = new Map([['a1','hello'],['b2':'Good Bye']]);

// add
myMap.set('c3','Nice');

//delete
myMap.delete('b2');

 

3.WeakSet

let carWeakSet = new WeakSet();

let car1 = {
  make: 'Honda',
  model: 'Civic'
}

// add
carWeakSet.add(car1);

let car2 = {
  make: 'Toyota',
  model: 'Camry'
}

carWeakSet.add(car2);

// delete
carWeakSet.delete(car1);

 

4.WeakMap

let carWeakMap = new WeakMap();

let key1 = {
  id: 1
}

let car1 = {
  make: 'Honda',
  model: 'Civic'
}

// add 

carWeakMap.set(key1, car1);

let key2 = {
  id: 2
}

let car2 = {
  make: 'Toyota',
  model: 'Camry'
}

carWeakMap.set(key2, car2);

// delete
carWeakMap.delete(key1);

  

posted @ 2017-03-11 15:52  涵叔  阅读(523)  评论(0)    收藏  举报