1.set类似于数组,成员是唯一的
const s = new Set(); s.add(1).add(2).add(3).add(2);//Set(3) {1, 2, 3};支持链式写法
2.面试常见题(数组去重)
var arr1 = [2,3,5,5,2,4,8,2]; var arr2 =[...new Set(arr1)];//扩展运算符,进行序列化处理后,变成数组 console.log(arr2)
3.map 类似于对象,以键值对方式出现;[key,value]
const m = new Map(); m.set("name",'baby').set("age","18"); //es6中新增for of特性 for(let [key,value] of m){ }
(map.size: map中的元素的数量)
补充:
Map 的方法
创建和增加
删除
- map.delete(key) 如果存在该 key 删除后则返回 true,要是没有该元素则返回 false
- map.clear() 移除Map对象的所有键/值对
查询和遍历
- map.has(key) 如果存在该 key 则返回 true,否则则返回 false
- map.get(key) 如果存在该 key 则返回 key 对应的 value,否则则返回 undefined
- map.entries() 返回一个新的迭代器对象,按照插入顺序包含的元素形式是[key, value] 的数组
- map.keys() 返回一个新的可迭代的对象,包含了按照插入顺序的 map 的 各个键
- map.values() 返回一个新的可迭代的对象,包含了按照插入顺序的 map 的 各个值
- map.forEach((value,key,map)=>{}) 其中 value 是当前元素的值,key 是当前元素的键名,map 是当前正在遍历的 map 对象
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。