【Javascript学习笔记】【02Map && Set && iterable类型】

目录


MAP

Map是一组键值对的结构,具有极快的查找速度。
.set()添加key,value
.has()是否存在该key
.get()获取key对应值
.delete()删除

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

Set和Map类似,也是一组key的集合,但不存储value。且key不能重复,重复元素在Set中自动被过滤。
.add()
.delete()

var s = new Set([1, 2, 3, 3, '3']);
s; // Set {1, 2, 3, "3"}
s.add(4);
s; // Set {1, 2, 3, "3", 4}
s.add(4);
s; // 仍然是 Set {1, 2, 3, "3", 4}
s.delete(3);
s; // Set {1, 2, "3", 4}

ES6标准iterable类型

Array、Map和Set都属于iterable类型,遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。ES6标准具有iterable类型的集合可以通过新的for … of循环来遍历。

var a = ['A', 'B', 'C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (var x of a) { // 遍历Array
    console.log(x);
}
for (var x of s) { // 遍历Set
    console.log(x);
}
for (var x of m) { // 遍历Map
    console.log(x[0] + '=' + x[1]);
}

比for…of更好的方法forEach

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

显示:
A, index = 0,arry= A,B,C
B, index = 1,arry= A,B,C
C, index = 2,arry= A,B,C


快捷链接

全部Javascript学习笔记的目录 Click Here>>
(github:KuanG97) 下载实战代码 ClickHere>>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值