ES6-Set的增加、查找、删除、遍历、查看长度、数组去重
set 是es6新出的一种数据结构,里边放的是数组。 作用:去重(set里边的数组不能重复)
MDN:Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
总结:1.成员唯一、无序且不重复;
2.[value, value],键值与键名是一致的(或者说只有键值,没有键名);
3.可以遍历,方法有:add、delete、has、clear、entries、forEach、keys、values
3.Set也能用来保存NaN和undefined, 如果有重复的NaN, Set会认为就一个NaN(实际上NaN!=NaN);
声明一个Set
let setArr = new Set(['ananiah','大诶啊','18']); console.log(setArr) //Set(3) {"ananiah", "大诶啊", "18"}
增加
//增加 setArr.add('晴空万里'); console.log(setArr) //Set(4) {"ananiah", "大诶啊", "18", "晴空万里"}
查找
//查找 console.log(setArr.has('ananiah')) //true
删除
//删除某个 setArr.delete('18'); console.log(setArr) //Set(3) {"ananiah", "大诶啊", "晴空万里"} //全部删除 setArr.clear(); console.log(setArr) //Set(0) {}
遍历
//for...of for(let item of setArr){ console.log(item) //打印全部 } //forEach setArr.forEach(value => console.log(value));
查看长度
//size查看长度 console.log(setArr.size) //3
数组去重
var array = [0,1,1,2,2,5,5,66,99,65,65]; console.log(Array.from(new Set(array))); //Array(7) [0, 1, 2, 5, 66, 99, 65] console.log([...new Set(array)]); //Array(7) [0, 1, 2, 5, 66, 99, 65]