ES6

ES6-map数据类型

2019-01-06  本文已影响0人  吴高亮

JS中;对象都是键值对的集合;都是字符串作为数据的属性;Object提供了'字符串-值';但是Map提供了'值-值';

const m=new Map();
const o={p:'hello world'};
m.set(o,'content');
m.get(o);//content;
m.has(o);//true;
m.delete(o);//ture;
m.has(0);//false;

上面使用set将o[一个对象]设置为一个键;使用get方法取出这个键;使用delete删除后;使用has判定是否含有这个值;
接下来看Map作为构造函数;进行Map数据格式的构建;

const m=new Map([
['name','Setmain'],
['title','map']
]);
m.size  2;
m.has('name');//true;
m.get('name');//Setmain;
m.get('title');//map;
const map = new Map();

map
.set(1, 'aaa')
.set(1, 'bbb');

map.get(1) // "bbb"
let map = new Map();

map.set(-0, 123);
map.get(+0) // 123

map.set(true, 1);
map.set('true', 2);
map.get(true) // 1

map.set(undefined, 3);
map.set(null, 4);
map.get(undefined) // 3

map.set(NaN, 123);
map.get(NaN) // 123

实例和操作方法;

const map = new Map();
map.set('foo', true);
map.set('bar', false);

map.size // 2
const m = new Map();

m.set('edition', 6)        // 键是字符串
m.set(262, 'standard')     // 键是数值
m.set(undefined, 'nah')    // 键是 undefined
const m = new Map();

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

m.get(hello)  // Hello ES6!
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
const m = new Map();
m.set(undefined, 'nah');
m.has(undefined)     // true

m.delete(undefined)
m.has(undefined)       // false
let m=new Map();
m.set(1,true);
m.set(2,false);
m.size//2;
m.clear();//清除;
m.size//0;

上一篇 下一篇

猜你喜欢

热点阅读