JS中的Map和Set

使用iterable内置的forEach方法

var a = ['A','B','C'];a.forEach(function(element, index, array) {// element: 指向当前元素的值// index: 指向当前索引// array: 指向Array对象本身

alert(element);

});

Set与Array类似,但Set没有索引,因此回调函数的前两个参数都是元素本身:

var s =new Set(['A','B','C']);s.forEach(function(element, sameElement, set) {

alert(element);

});

Map的回调函数参数依次为value、key和map本身:

var m =new Map([[1,'x'], [2,'y'], [3,'z']]);m.forEach(function(value, key, map) {

alert(value);

});

JS中参数不要求一致,可以需要几个写几个(当然多写就是undefined,而且参数名字可以随便瞎写【滑稽】)

a.forEach(function (element, index, array,adsf) {

// element: 指向当前元素的值

// index: 指向当前索引

// array: 指向Array对象本身

console.log(element, index, array,adsf);

});

VM2066:5 a 0 ["a", "b", "c"] undefined

VM2066:5 b 1 ["a", "b", "c"] undefined

VM2066:5 c 2 ["a", "b", "c"] undefined

for of循环:与java中的foreach类似:

for (var x of a) {    alert(x);// 'A', 'B', 'C'

}

JS的默认对象表示方式为{}键值对方式,但是键都是字符串,所以引用了Map

var m = new Map([['micheal',99],['bob',90],['baobao',100]]);

m.get('micheal');

也可以这样:

var m =new Map();// 空Map m.set('Adam',67);// 添加新的key-value m.set('Bob',59); m.has('Adam');// 是否存在key 'Adam': true m.get('Adam');// 67 m.delete('Adam');// 删除key 'Adam' m.get('Adam');// undefined

Set 与java中的list相似吧但是值不重复,类型也多变;

add方法添加元素,

var s = newSet([1,2,3,3,'3']);

s.add(4);s.delete(2);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 不支持上传文件,所以就复制过来了。作者信息什么的都没删。对前端基本属于一窍不通,所以没有任何修改,反正用着没问题就...
    全栈在路上阅读 2,074评论 0 2
  • 前言:最近在前端这块,发现自己生疏了,连最基本的js都忘的差不多了。于是趁着周末,参考了廖雪峰老师的JS教程以及自...
    SkyLine7阅读 693评论 0 2
  • 文/孤鸟差鱼 我的委屈 没有硬抗 你的难过 也有释放
    孤鸟差鱼阅读 366评论 0 1
  • 【第九篇】 最近认识一个男孩子,是因为感觉高深莫测,嗯,,,还有一些自己不了解的领域。对于优秀的人,我总是没有什么...
    o司命星君o阅读 1,060评论 0 0
  • 这是我第二个睡不着觉的深夜,突然发现这个深夜并不是只有漆黑。这个深夜让我了解了很多的事情,这个深夜让我爱上了深夜...
    邢俊俊阅读 206评论 0 0

友情链接更多精彩内容