温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ES6之map、set与数组、对象的对比示例

发布时间:2021-08-18 15:00:52 来源:亿速云 阅读:244 作者:小新 栏目:web开发

这篇文章给大家分享的是有关ES6之map、set与数组、对象的对比示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

前言

ES5中的数据结构,主要是用Array和Object。在ES6中主要新增了Set和Map数据结构。到目前为止,常用的数据结构有四种Array、Object、Set、Map。

// 数据结构横向对比,增,查,改,删

1、map和数组对比

{   let map=new Map();  let array=[];  /**增**/  map.set('t',1);  array.push({t:1});  console.info('map-array',map,array);   /**查**/  let map_exist=map.has('t');  let array_exist=array.find(item=>item.t);  console.info('map-array',map_exist,array_exist);   /**改**/  map.set('t',2);  array.forEach(item=>item.t?item.t=2:'');  console.info('map-array-modify',map,array);   /**删**/  map.delete('t');  let index=array.findIndex(item=>item.t);  array.splice(index,1);  console.info('map-array-empty',map,array); }

2、set和数组对比

{  let set=new Set();  let array=[];     // 增  set.add({t:1});  array.push({t:1});  console.info('set-array',set,array);  // 查  let set_exist=set.has({t:1});  let array_exist=array.find(item=>item.t);  console.info('set-array',set_exist,array_exist);   // 改  set.forEach(item=>item.t?item.t=2:'');  array.forEach(item=>item.t?item.t=2:'');  console.info('set-array-modify',set,array);     // 删  set.forEach(item=>item.t?set.delete(item):'');  let index=array.findIndex(item=>item.t);  array.splice(index,1);  console.info('set-array-empty',set,array); }

3、map、set和Object对比

{   let item={t:1};  let map=new Map();  let set=new Set();  let obj={};   // 增  map.set('t',1);  set.add(item);  obj['t']=1;  console.info('map-set-obj',obj,map,set);   // 查   console.info({  map_exist:map.has('t'),  set_exist:set.has(item),  obj_exist:'t' in obj  })   // 改  map.set('t',2);  item.t=2;  obj['t']=2;  console.info('map-set-obj-modify',obj,map,set);   // 删除  map.delete('t');  set.delete(item);   delete obj['t'];  console.info('map-set-obj-empty',obj,map,set); }

 通过对比可以发现,能使用map的优先使用,不使用数组,

 考虑数据的唯一性,考虑使用set,不使用Objet

 以后的开发中可以优先考虑使用map和set了,并且可以放弃数组和object了

感谢各位的阅读!关于“ES6之map、set与数组、对象的对比示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI