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