es6(10)--Set,Map(2)

 1 //Map与Array的对比
 2 {
 3     let map=new Map();
 4     let array=[];
 5     //
 6     map.set('t',1);
 7     array.push({t:1});
 8     console.info('map-Array',map,array);
 9     //
10     let map_exist=map.has('t');
11     let array_exist=array.find(item=>item.t);
12     console.info('map-Array',map_exist,array_exist);//true,{'t':1}
13     //
14     map.set('t',2);
15     array.forEach(item=>item.t?item.t=2:'')
16     console.info('map-Array',map,array);
17     //
18     map.delete('t');
19     let index =array.findIndex(item=>item.t);
20     array.splice(index,1);
21     console.info('map-Array',map,array);
22 }
23 //Set与Array的对比
24 {
25     let set = new Set();
26     let array=[];
27     //
28     set.add({t:1});
29     array.push({t:1});
30     console.info('set-Array',set,array);
31     //
32     let set_exist=set.has({t:1});
33     let array_exist=array.find(item=>item.t);
34     console.info('set-Array',set_exist,array_exist);//false,{'t':1}
35     //
36     set.forEach(item=>item.t?item.t=2:'')
37     array.forEach(item=>item.t?item.t=2:'')
38     console.info('set-Array',set,array);
39     //
40     set.forEach(item=>item.t?set.delete(item):'')
41     let index =array.findIndex(item=>item.t);
42     array.splice(index,1);
43     console.info('map-Array',set,array);
44 }
45 //Map和Set与Object的对比
46 {
47     let item={t:1};
48     let map = new Map();
49     let set = new Set();
50     let obj={};
51 
52     //
53     map.set('t',1);
54     set.add(item);
55     obj['t']=1;
56 
57     console.info('map-set-obj',obj,map,set);
58 
59     //
60     console.info({
61         map_exist:map.has('t'),
62         set_exist:set.has(item),
63         obj_exist:'t' in obj
64     })
65 
66     //
67     map.set('t',2);
68     item.t=2;
69     obj['t']=2;
70     console.info(obj,map,set);
71     //删除
72     map.delete('t');
73     set.delete(item);
74     delete obj['t'];
75     console.info(obj,map,set)
76 
77 }
78 //开发过程中数据结构,使用map,如果考虑数据结构的唯一性用set

猜你喜欢

转载自www.cnblogs.com/chenlw/p/9227897.html