Es6的Set和map的数据结构

Es6的Set和map的数据结构

Set 实例的属性和方法Set 结构的实例有以下属性。

* Set.prototype.constructor:构造函数,默认就是Set函数。
* Set.prototype.size:返回Set实例的成员总数。

Set 实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。下面先介绍四个操作方法。

* add(value):添加某个值,返回 Set 结构本身。
* delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
* has(value):返回一个布尔值,表示该值是否为Set的成员。
* clear():清除所有成员,没有返回值。

Set的方法

//声明Set
var myset=new Set()
// <!--add(value):添加某个值,返回 Set 结构本身。-->
myset.add(2).add(10).add(23)
console.log(myset)
// <!--delete(value):删除某个值,返回一个布尔值,表示删除是否成功。-->
myset.delete(10)
console.log(myset)
// <!--has(value):返回一个布尔值,表示该值是否为Set的成员。 true为存在 false为bucunzai-->
myset.has(10)
console.log( myset.has(10))
// <!--clear():清除所有成员,没有返回值。-->
myset.clear(10)
console.log(myset)

Set遍历的方法
Set 结构的实例有四个遍历方法,可以用于遍历成员。

* keys():返回键名的遍历器
* values():返回键值的遍历器
* entries():返回键值对的遍历器
* forEach():使用回调函数遍历每个成员

map的属性和方法
方法:
添加值map.set() 方法返回的是当前的Map对象
const m = new Map();

m.set(‘edition’, 6) // 键是字符串
m.set(262, ‘standard’) // 键是数值
m.set(undefined, ‘nah’) // 键是 undefined
因此可以采用链式写法
let map = new Map()
.set(1, ‘a’)
.set(2, ‘b’)
.set(3, ‘c’);
set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。
读取值map.get() 此方法读取key对应的键值,如果找不到key,返回undefined。
const m = new Map();

const hello = function() {console.log(‘hello’);};
m.set(hello, ‘Hello ES6!’) // 键是函数

m.get(hello) // Hello ES6!
删除值map.delete() 此方法删除某个键,返回true。如果删除失败,返回false。
const m = new Map();
m.set(undefined, ‘nah’);
m.has(undefined) // true

m.delete(undefined)
m.has(undefined) // false
清空值map.clear()此方法 方法清除所有成员,没有返回值。
let map = new Map();
map.set(‘foo’, true);
map.set(‘bar’, false);

map.size // 2
map.clear()
map.size // 0
map.has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。如果有该值返回true反之则为false
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
属性:
size属性返回 Map 结构的长度
const map = new Map();
map.set(‘foo’, true);
map.set(‘bar’, false);

map.size // 2
map的遍历的方法

* keys():返回键名的遍历器。
* values():返回键值的遍历器。
* entries():返回所有成员的遍历器。
* forEach():遍历 Map 的所有成员。

本文参考阮一峰的《ECMAScript 6 入门》接:http://es6.ruanyifeng.com/#README

猜你喜欢

转载自blog.csdn.net/qq_37212162/article/details/81207842
今日推荐