javascript怎么遍历map

javascript怎么遍历map,第1张

var map = new HashMap();

mapput("a","1");

mapput("b","2");

遍历

var key = mapkeySet();

for (var i in key){

alert(mapget(key[i]));

注:js 中使用map,要先导入一个HashMapjs文件

没要求,引入这个文件之后,可以直接使用hashmap了

Map映射是ES6里面新增的一个对象,是一组键值对的结构,具有极快的查找速度。

Map是类似Object的一种键值对集合,区别在于Map的键不仅限于是字符串,其他各种类型的值包括对象都可以成为Map的键

Set也是ES6新增的对象,Set是一组key的集合,但不存储value, 而且key不重复,可自动排重

add(value):添加某个值,返回Set结构本身。

delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

has(value):返回一个布尔值,表示该值是否为Set的成员。

clear():清除所有成员,没有返回值。

原文链接: >

给个实例,代码如下:

Arrayprototyperemove = function(s) {

for (var i = 0; i < thislength; i++) {

if (s == this[i])

thissplice(i, 1);

}

}

/

Simple Map

var m = new Map();

mput('key','value');

var s = "";

meach(function(key,value,index){

s += index+":"+ key+"="+value+"/n";

});

alert(s);

@author dewitt

@date 2008-05-24

/

function Map() {

/ 存放键的数组(遍历用到) /

thiskeys = new Array();

/ 存放数据 /

thisdata = new Object();

/

放入一个键值对

@param {String} key

@param {Object} value

/

thisput = function(key, value) {

if(thisdata[key] == null){

thiskeyspush(key);

}

thisdata[key] = value;

};

/

获取某键对应的值

@param {String} key

@return {Object} value

/

thisget = function(key) {

return thisdata[key];

};

/

删除一个键值对

@param {String} key

/

thisremove = function(key) {

thiskeysremove(key);

thisdata[key] = null;

};

/

遍历Map,执行处理函数

@param {Function} 回调函数 function(key,value,index){}

/

thiseach = function(fn){

if(typeof fn != 'function'){

return;

}

var len = thiskeyslength;

for(var i=0;i<len;i++){

var k = thiskeys[i];

fn(k,thisdata[k],i);

}

};

/

获取键值数组(类似Java的entrySet())

@return 键值对象{key,value}的数组

/

thisentrys = function() {

var len = thiskeyslength;

var entrys = new Array(len);

for (var i = 0; i < len; i++) {

entrys[i] = {

key : thiskeys[i],

value : thisdata[i]

};

}

return entrys;

};

/

判断Map是否为空

/

thisisEmpty = function() {

return thiskeyslength == 0;

};

/

获取键值对数量

/

thissize = function(){

return thiskeyslength;

};

/

重写toString

/

thistoString = function(){

var s = "{";

for(var i=0;i<thiskeyslength;i++,s+=','){

var k = thiskeys[i];

s += k+"="+thisdata[k];

}

s+="}";

return s;

};

}

function testMap(){

var m = new Map();

mput('key1','Comtop');

mput('key2','南方电网');

mput('key3','景新花园');

alert("init:"+m);

mput('key1','康拓普');

alert("set key1:"+m);

mremove("key2");

alert("remove key2: "+m);

var s ="";

meach(function(key,value,index){

s += index+":"+ key+"="+value+"/n";

});

alert(s);

}

html代码:

[c-sharp] view plain copy

<html>

<head>

<title>Test Map</title>

<mce:script language="javascript" src="mapjs" mce_src="mapjs"><!--

// --></mce:script>

</head>

<body>

<input type="button" value="test" onclick="testMap()">

</body>

</html>

(一)Map 数据结构

1Map 数据结构,类似于对象,键值对的集合, 所有的数据都是唯一的,不会重复,每条数据都需要放在一个数组中,它本身就是一个构造函数

size 数据的长度

set() 添加一个数据

delete() 删除一条数据

get () 获取一条数据

has() 查找某条数据,返回一个布尔值

clear() 删除所有数据

参考资料:

>

(JS文档自译)

Object和Map非常相似,两者都可以完成键-值对的设置、获取value、删除key并且根据key获取对应的value。因此,在过去Object经常被当作Map来使用。但是,Object和Map的不同之处会让Map在特定条件下成为一个更佳的选择。

以上就是关于javascript怎么遍历map全部的内容,包括:javascript怎么遍历map、JS新增对象Map、Set、js map.entrys 怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9821582.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存