new Set() 学习介绍与对比 您所在的位置:网站首页 12349下载 new Set() 学习介绍与对比

new Set() 学习介绍与对比

2023-09-24 04:19| 来源: 网络整理| 查看: 265

介绍:Set es6新推出的一种数据结构,他类似于数组,但是他的成员值都是唯一的,没有重复。

注意:唯一值表示数据类型相同

Set函数可以接收的参数可以是一个数组(或类似于数组的结构对象)作为参数用来初始化。

定义:

let list = new Set();

实例属性:size 返回当前Set的长度

实例方法:

add(value):添加某个值,返回Set结构本身。 delete(value):删除某个值,返回一个布尔值,表示删除是否成功。 has(value):返回一个布尔值,表示该值是否为Set的成员。 clear():清除所有成员,没有返回值对比set 和 Array的优势域劣势 let set = new Set(); let arr = new Array(); //增: set.add({'a': 1}); arr.push({'a': 1}); //查: console.log(set.has({'a': 1})); // false arr.find(item=>item.a); // {'a': 1} //改: set.forEach(item=>item.a?item.a=2:''); arr.forEach(item=>item.a?item.a=2:''); //删: set.forEach((item)=>item.a?set.delete(item):""); arr.splice(arr.findIndex(item=>item.a),1); console.log(set); console.log(arr);set map object 对比 优势与劣势 let item = {a: 1}; let set = new Set(); let map = new Map(); let obj = new Object(); //增 set.add(item); map.set('a', 1); obj['a'] = 1; //查 set.has(item);// true map.has('a');// true 'a' in obj;// true //改 item.a = 2; map.set('a', 2); obj['a'] = 2; //删 set.delete(item); map.delete('a'); delete obj['a']; console.log(set); console.log(map); console.log(obj);

总结:在开发过程中,涉及到数据结构,能使用Map 不使用Array 尤其是复杂的数据结构 ,如果对于数组的存储考虑唯一性使用Set,优先使用map 如果要求数据储存的唯一性使用Set 放弃使用Array。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有