目录
set数据结构
set介绍
set使用
add添加
delete删除
has判断Set是否有对应的成员
将Set转为数组
Set去除字符串里面的重复字符
Set 四个遍历方法
Map数据结构
Map介绍
Map的使用
Map的set方法
Map的get方法
Map的delete方法
Map的has方法
Map的clear方法
Map的size 属性
Map的4个遍历的方法
Ser是ES6提供的新数据结构,它类似于数组。但是成员的值都是唯一的,没有重复
Set本身是一个构造函数,用来生成 set 数据结构 需要在前面加上new
var myset = new Set()
//add 添加
myset.add(1)
console.log(myset) // Set(1)
var myset = new Set()
//delete删除
myset.delete(1)
var myset = new Set()
myset.add(1)
myset.add(2)
myset.add(3)
console.log(myset.has(1)) //返回的布儿值 有返回true 没有返回false
var myset = new Set([1,2,3,4,5,6,7])
console.log([...myset]) // [1,2,3,4,5,6,7]
var myset = new Set('addsdwi')
console.log([...myset].join('')) //adswi
var ss = new Set(['aaa', 'bbb', 'ccc', 'ddd'])
for (let key of ss.keys()) {
console.log(key)
// aaa
// bbb
// ccc
// ddd
}
for (let key of ss.values()) {
console.log(key)
// aaa
// bbb
// ccc
// ddd
}
for (let key of ss.entries()) {
console.log(key) // ['aaa', 'aaa']
}
ss.forEach((key, value) => {
console.log(key, value)
// aaa aaa
// bbb bbb
})
键值对 对象 Map
对象的键名 是字符串类型 键---值
Map数据结构 键名可以是任意类型 值-----值
Map类似于键值对(key,value) 对象
//set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。
const m = new Map();
m.set('edition', 6) // 键是字符串
m.set(262, 'standard') // 键是数值
m.set(undefined, 'nah') // 键是 undefined
//set方法返回的是当前的Map对象,因此可以采用链式写法
let map = new Map()
.set(1, 'a')
.set(2, 'b')
.set(3, 'c');
//get方法读取key对应的键值,如果找不到key,返回undefined。
const m = new Map();
const hello = function() {console.log('hello');};
m.set(hello, 'Hello ES6!') // 键是函数
m.get(hello) // Hello ES6!
//delete方法删除某个键,返回true。如果删除失败,返回false
const m = new Map();
m.set(undefined, 'nah');
m.has(undefined) // true
m.delete(undefined)
m.has(undefined) // false
//has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
const m = new Map();
m.set('edition', 6);
m.set(262, 'standard');
m.set(undefined, 'nah');
m.has('edition') // true
m.has('years') // false
m.has(262) // true
m.has(undefined) // true
//clear方法清除所有成员,没有返回值
let map = new Map();
map.set('foo', true);
map.set('bar', false);
map.size // 2
map.clear()
map.size // 0
//size属性返回 Map 结构的成员总数
const map = new Map();
map.set('foo', true);
map.set('bar', false);
map.size // 2
Map.keys():返回键名的遍历器。
Map.values():返回键值的遍历器。
Map.entries():返回所有成员的遍历器。
Map.forEach():遍历 Map 的所有成员。
const map = new Map([
['F', 'no'],
['T', 'yes'],
]);
for (let key of map.keys()) {
console.log(key);
}
// "F"
// "T"
for (let value of map.values()) {
console.log(value);
}
// "no"
// "yes"
for (let item of map.entries()) {
console.log(item[0], item[1]);
}
// "F" "no"
// "T" "yes"
// 或者
for (let [key, value] of map.entries()) {
console.log(key, value);
}
// "F" "no"
// "T" "yes"
// 等同于使用map.entries()
for (let [key, value] of map) {
console.log(key, value);
}
// "F" "no"
// "T" "yes"