ES6 Set结构的应用实例分析
本文实例讲述了ES6Set结构的应用。分享给大家供大家参考,具体如下:
Set类似于数组,但是成员的值都是唯一的,没有重复的值,实现了iterator接口
set的值不可重复,数组的值可以重复
letarr=[1,2,3,'5','5']; letst=newSet(arr); console.log(st);//可以通过set来去除数组的重复的值,返回的是一个伪数组 console.log(st.size);//4
set的add,delete,has,clear方法
简单的add与delete:
letst=newSet();
varu={name:'Joh'};
st.add(u);
letbool=st.delete(u);
console.log(bool);//true;
连续add与has的api:
letst=newSet();
varu={name:'Joh'};
varr={name:'Lily'};
st.add(u).add(r);
letbool=st.delete(r);
console.log(bool);//true
console.log(st.has(r));//false
console.log(st.has(u));//true;
clear清空set集合
letst=newSet();
varu={name:'Joh'};
varr={name:'Lily'};
st.add(u).add(r);
st.clear();
console.log(st.size);//0
通过Array.from方法把类似数组结构的模型转化为数组
letarr=['xxx','yyyy','yyyy']; letnewArr=Array.from(newSet(arr)); console.log(Array.isArray(newArr));//true console.log(newArr);//["xxx","yyyy"]
Set原型上的Symbol.iterator和values是同一个值,可直接for-of遍历
console.log(Set.prototype[Symbol.iterator]===Set.prototype.values);//true
letst=newSet(['xxx','yyyy','yyyy','John']);
for(letkofst){
console.log(k);//依次输出xxxyyyyJohn可以直接遍历,兼容map的数据结构
}
set中的keys和values方法
letst=newSet(['xxx','yyyy','yyyy','John']);
console.log(st.size);//3
letitKeys=st.keys();
for(letkofitKeys){
console.log(k);//依次输出xxxyyyyJohn
}
console.log('>>>>>');
letitVals=st.values();
for(letvofitVals){
console.log(v);//依次输出xxxyyyyJohn
}
set的entries实体对象,是个键和值的数组结构
letst=newSet(['xxx','yyyy','yyyy','John']);
letentriesIt=st.entries();//
for(letvofentriesIt){
console.log(v);//依次输出["xxx","xxx"]["yyyy","yyyy"]["John","John"]
}
关于NaN在set中的特殊性
letst=newSet();
console.log(NaN===NaN);//false,此处NaN是不全等的,理应可以添加多个,不算重复,但是这里是个特例
st.add(NaN).add(NaN).add(NaN);
for(letvofst){
console.log(v);//只输出一个NaN
}
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短