實現增、查、改、刪功能
(1)Map與Array的對比
//數據結構的橫向對比----增、查、改、刪
letmap=newMap();
letarray=[];
//增
map.set('t',1);
array.push({t:1});
console.info('map-array',map,array);
//查
letmap_exist=map.has('t');
letarray_exist=array.find(item=>item.t);
console.info('map_exist-array_exist',map_exist,array_exist);
//改
map.set('t',2);
array.forEach(item=>item.t?item.t=2:'');
console.info('map_set-array_forEach',map,array);
//刪
map.delete('t');
letindex=array.findIndex(item=>item.t);//先找到要刪除元素的索引值
array.splice(index,1);//利用splice()進行對元素的刪除
console.info('map_delete-array_splice',map,array);
(2)Set與Array的對比
letset=newSet();
letarray=[];
//增
set.add({t:1});
array.push({t:1});
console.log(set,array);
//查
letset_exist=set.has({t:1});//返回false,如果想返回true,則裏面的元素必須是要被保存過,通過地址就可以查詢到
letarray_exist=array.find(item=>item.t);
console.info('set_exist-array_exist',set_exist,array_exist);
//改
set.forEach(item=>item.t?item.t=2:'');
array.forEach(item=>item.t?item.t=2:'');
console.info('set_forEach-array_forEach',set,array);
//刪
set.forEach(item=>item.t?set.delete(item):'');
letindex=array.findIndex(item=>item.t);//先找到要刪除元素的索引值
array.splice(index,1);//利用splice()進行對元素的刪除
console.info('map_forEach-array_splice',set,array);
(3)Map、Set、Object的對比
//Map,Set,Object對比
letitem={t:1};//提前爲set的元素進行了存儲
letmap=newMap();
letset=newSet();
letobj={};
//增
map.set('t',1);
set.add(item);
obj['t']=1;
console.info(map,set,obj);
//查
letmap_exist=map.has('t');
letset_exist=set.has(item);
letobj_exist='t'inobj;
console.info(map_exist,set_exist,obj_exist);
//改
map.set('t',2);
item.t=2;//提前
//set.forEach(item=>item.t?item.t=2:'');//未提前
obj['t']=2;
console.info(map,set,obj);
//刪
map.delete('t');
set.delete(item);//提前
//set.forEach(item=>item.t?set.delete(item):'');//未提前
deleteobj['t'];
console.info(map,set,obj);
(4)使用優先級
優先使用Map和Set
能使用Map就不使用數組
要求數據唯一性,考慮使用Set,放棄使用Object,數組