目录
- 目录
- MAP
- Set
- ES6标准iterable类型
- 快捷链接
MAP
Map是一组
键值对
的结构,具有极快的查找速度。
.set()添加key,value
.has()是否存在该key
.get()获取key对应值
.delete()删除
var m = new Map(); // 空Map
m.set('Adam', ); // 添加新的key-value
m.set('Bob', );
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([, , , , '3']);
s; // Set {, , , "3"}
s.add();
s; // Set {, , , "3", }
s.add();
s; // 仍然是 Set {, , , "3", }
s.delete();
s; // Set {, , "3", }
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([[, 'x'], [, 'y'], [, '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[] + '=' + x[]);
}
比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>>