es6中的新增的Set与Map数据类型介绍

    技术2026-04-04  6

    ES2015-Set

    你可以把set理解为集合,它和传统的js数组类似,但是它里面的元素都是唯一的不重复的。它可以像array那样通过forEach或者for of的方法去遍历 //new一个Set实例 const s = new Set() //通过add来往set中添加数据 s.add(1).add(2).add(3).add(4).add(2) s.size//获取set的长度 s.has(100//判断set中有没有某个元素 s.delete(3)//删除set中的元素 s.clear()//清空set中的数据 set最常用的途径还是实现数组去重 const arr = [1, 2, 1, 3, 4, 1] //通过Array.from把处理过后set类型转换为数组类型 const result = Array.from(new Set(arr)) //或者通过...操作符将set里面的元素获取到直接放到[]中 const result = [...new Set(arr)]

    ES2015-Map

    在传统的对象中,键值key只能是字符串,添加其他类型的key会被转换成字符串 //map数据结构 const obj = {} obj[true] = 'value' obj[123] = 'value' obj[{ a: 1 }] = 'value' console.log(Object.keys(obj)) //['true','123','[object Object]'] Map中的键值key可以为任意类型,这是它与对象最大的不同。而map同样可以使用forEach方法去遍历 const tom = { name: 'tom' } //set方法去设置map中的键值 m.set(tom, 90) //get方法去获取map中的key的值 console.log(m.get(tom)) // m.has() 判断某个键是否存在 // m.delete() 删除某个键的值 // m.clear() 清除map中的数据 //...
    Processed: 0.010, SQL: 9