天天看点

【Javascript学习笔记】【02Map && Set && iterable类型】目录MAPSetES6标准iterable类型快捷链接

目录

  • 目录
  • 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>>