本篇文章给大家带来的内容是关于javascript中map对象的解析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一、创建map对象
map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值
1.构造函数
语法:new map([iterable])
参数:
iterable 可以是一个数组或者其他 iterable 对象,其元素或为键值对,或为两个元素的数组;每个键值对都会添加到新的 map,null 会被当做 undefined
let arr = [1,2,3];let mymap = new map(arr.entries());console.log(mymap.get(0)); // 1
二、map实例属性
mymap.size 可访问属性返回 map 对象的元素数量
size 属性的值是一个整数,表示 map 对象有多少个键值对。size 是只读属性,它对应的 set 方法是 undefined,即不能改变它的值
let mymap = new map();mymap.set(a, alpha);mymap.set(b, beta);mymap.set(g, gamma);console.log(mymap.size); // 3
三、map实例方法
1.set()
语法:mymap.set(key, value)
参数:
key 必填,添加到map对象的元素的key值
value 必填,添加到map对象的元素的value值
let mymap = new map();mymap.set(bar, foo); mymap.set(1, foobar);// 在map对象中更新一个新元素mymap.set(bar, baz);
2.get()
语法:mymap.get(key)
参数:
key 想要获取的元素的键
返回值:返回一个map对象中与指定键相关联的值,如果找不到这个键则返回undefined
let mymap = new map();mymap.set(bar, foo);console.log(mymap.get(bar)); // fooconsole.log(mymap.get(baz)); // undefined
3.has()
语法:mymap.has(key)
参数:
key 必填,用来检测是否存在指定元素的键值
返回值:如果指定元素存在于map中,则返回true。其他情况返回false
let mymap = new map();mymap.set(bar, foo);console.log(mymap.has(bar)); // returns trueconsole.log(mymap.has(baz)); // returns false
4.delete() 方法用于移除 map 对象中指定的元素
语法:mymap.delete(key)
参数:
key 必须,从 map 对象中移除的元素的键(key)
返回值:如果 map 对象中存在该元素,则移除它并返回 true;否则如果该元素不存在则返回 false
let mymap = new map();mymap.set(bar, foo);mymap.delete(bar); // 返回 true。成功地移除元素console.log(mymap.size); // 0
5.clear()方法会移除map对象中的所有元素
语法:mymap.clear()
let mymap = new map();mymap.set(bar,baz);mymap.set(1,foo);console.log(mymap.size); // 2mymap.clear();
6.entries()
语法:mymap.entries()
返回值:返回一个新的包含[key, value]对的iterator对象,返回的迭代器的迭代顺序与map对象的插入顺序相同
let mymap = new map();mymap.set(0, foo);mymap.set(1, bar);mymap.set({}, baz);let mapiter = mymap.entries();console.log(mapiter.next().value); // [0, foo]console.log(mapiter.next().value); // [1, bar]console.log(mapiter.next().value); // [object, baz]
7.keys() 返回一个新的 iterator 对象。它包含按照顺序插入map对象中每个元素的key值
语法:mymap.keys()
let mymap = new map();mymap.set(0, foo);mymap.set(1, bar);mymap.set({}, baz);let mapiter = mymap.keys();console.log(mapiter.next().value); // 0console.log(mapiter.next().value); // 1console.log(mapiter.next().value); // object
8.values() 方法返回一个新的iterator对象。它包含按顺序插入map对象中每个元素的value值
语法:mymap.values()
let mymap = new map();mymap.set(0, foo);mymap.set(1, bar);mymap.set({}, baz);let mapiter = mymap.values();console.log(mapiter.next().value); // fooconsole.log(mapiter.next().value); // barconsole.log(mapiter.next().value); // baz
9.foreach()
语法:mymap.foreach(callback[, thisarg])
参数:
callback 必要,每个元素所要执行的函数
thisarg 可选,callback 执行时其 this 的值
let mymap = new map([[foo, 3], [bar, {}], [baz, undefined]]);mymap.foreach((value,key,map) => {console.log(key =,key,,value =,value); //key = foo ,value = 3});
以上就是javascript中map对象的解析(附示例)的详细内容。
