一、Set数据结构 1、ES6提供了新的数据类型Set。它类似于数组,但是成员的值都是唯一的,没有重复的值 2、Set的实例 Set本身是一个构造函数,用来生成Set数据结构,Set函数接受一个数组或者具有iterable接口的其他数据结构作为参数,用来初始化
const set = new Set([1,2,3,4,4])
console.log(set);
console.log([...set]);
const s1 = new Set('hello')
console.log(s1);
console.log([...s1]);
3、Set的用途
console.log([...new Set([1,2,1,2,2,5,3,2])]);
function dedupe(array) {
return Array.from(new Set(array))
}
console.log(dedupe([1,1,2,2,3,3]));
console.log([...new Set('helloe')].join(''));
4、Set实例的属性 (1) size 返回实例的成员总数
let s = new Set([1,2,3,4,5])
console.log(s.size);
(2)constructor 返回构造函数
let s = new Set([1,2,3,4,5])
console.log(s.constructor);
5、Set实例的操作方法
let s = new Set([1,2,3,4,5])
console.log(s.add('a'));
console.log(s.delete(2));
console.log(s.has(4));
s.clear()
console.log(s);
6、 Set实例的遍历方法 由于 Set 结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys方法和values方法的行为完全一致。
let s = new Set([1,2,3,4,5])
console.log(s.keys());
for(let i of s.keys()){
console.log(i);
}
for(let i of s.values()){
console.log(i);
}
for (const i of s.entries()) {
console.log(i);
}
s.forEach((val,index,s)=>console.log(val+'---'+index+'---'+s))
1---1---[object Set]
2---2---[object Set]
3---3---[object Set]
4---4---[object Set]
5---5---[object Set]
二、Map数据结构 ES6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值都可以当作键。Object结构提供了“字符串—值的对应”,Map结构提供了“值—值的对应” 1、创建Map的实例 Map构造函数接受一个数组作为参数,这个数组的元素是一个一个表示键值对的数组
const map = new Map([['name','lisi'],['age',23]])
console.log(map);
2、Map结构实例的属性
const map = new Map([['name','lisi'],['age',23]])
console.log(map.size);
console.log(map.constructor);
3、 Map结构实例的操作方法
const map = new Map([['name','lisi'],['age',23]])
console.log(map.set('height',70));
console.log(map.get('age'));
console.log(map.has('age'));
console.log(map.delete('age'));
map.clear()
console.log(map);
Map(0) {}
4、Map实例的遍历方法
const map = new Map([['name','lisi'],['age',23]])
for(let i of map.keys()){
console.log(i);
}
for(let i of map.values()){
console.log(i);
}
for(let i of map.entries()){
console.log(i);
}
map.forEach((value,index,map)=>console.log(value + '---' + index + '---' + map))
|