数据结构(二):集合、字典
集合 ES6 Set:
无序且唯一。与数组的区别,无序可重复。
leetcode:349.
var arr = [1, 2, 2, 3] const set = new Set(arr) // 去重 const newArr = [...set] set.add('add data'); set.delete('del data'); set.has(2) // true set.size() //遍历 for(let item of set.keys()) { console.log(item) }
字典 ES6 Map:
leetcode:
// 本质上是键值对的集合(Hash结构), 各种类型的值(包括对象)都可以当作键(值-值)。
const m = new Map()
var o = { p: 'Hello World' };
m.set(o, 'content')
m.get(o) // "content"
m.has(o) // true
m.delete(o) // true
// 接收数组
var map = new Map([
['name', '张三'],
['title', 'Author']
]);
map.size // 2
map.has('name')
// 遍历
for (let key of map.keys()) {
console.log(key);
}
for (let value of map.values()) {
console.log(value);
}
for (let item of map.entries()) {
console.log(item[0], item[1]);
}
// 或者
for (let [key, value] of map.entries()) {
console.log(key, value);
}
// 等同于使用map.entries()
for (let [key, value] of map) {
console.log(key, value);
}
浙公网安备 33010602011771号