数据结构(二):集合、字典

集合 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);
}

 

posted @ 2020-11-20 11:11  毛栗的demo  阅读(159)  评论(0)    收藏  举报