/**
* Created by kzero on 2016/10/16.
*/
// var m = new Map();
// var s = new Set();
// alert('你的浏览器支持Map和Set!');
// //初始化Map需要一个二维数组,或者直接初始化一个空Map
// var m = new Map([['Michael',95],['Bob',75],['Tracy',85]]);
// var str = m.get('Bob');
// console.log(str);
//
// var map = new Map();//创建
// map.set('a',1);//添加
// map.set('b',2);
// map.set('c',3);
// map.set('d',4);
// console.log(map);
//
// if(map.has('a'))//是否有某个值
// {
// console.log(map.get('a'));//获取值
// map.delete('a');//删除值
// console.log(map);
// }
// else
// {
// console.log('没有');
// }
//要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set
// var s1 = new Set(); // 空Set
// var s2 = new Set([1, 2, 3]); // 含1, 2, 3
// var s3 = new Set([1,1,2,2,3,3]);//含1,2,3,自动过滤重复元素
// s1.add(3);//数字
// s1.add('3');//字符串,两个三不一样
// console.log(s1);
// s1.delete(3);
// console.log(s1);
// //遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。
// //为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。
// //具有iterable类型的集合可以通过新的for ... of循环来遍历
// var a = [1,2,3];
// for(var x of a ){//遍历数组
// console.log(x);
// }
//
// var my_array = ['a','b','c'];//array
// var my_set = new Set(['a','b','c','d']);//set
// var my_map = new Map([['a',1],['b',2],['c',3]]);//map
//
// console.log("遍历array");
// for(var x of my_array){
// console.log(x);
// }
//
// console.log("遍历set");
// for(var x of my_set){
// console.log(x);
// }
//
// console.log("遍历map");
// for(var x of my_map){
// console.log(x[0] + '=' + x[1]);//map的元素是键值对,x[0]->键,x[1]->值
// }
// //iterable内置的forEach方法,它接收一个函数,每次迭代就自动回调该函数。
//
// var a = ['A', 'B', 'C'];
// a.forEach(function (element, index, array) {
// // element: 指向当前元素的值
// // index: 指向当前索引
// // array: 指向Array对象本身
// console.log(element);
// });
//
// //Set与Array类似,但Set没有索引,因此回调函数的前两个参数都是元素本身
// var s = new Set(['A', 'B', 'C']);
// s.forEach(function (element, sameElement, set) {
// console.log((element));
// });
//
// //Map的回调函数参数依次为value、key和map本身:
//
// var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
// m.forEach(function (value, key, map) {
// console.log(value);
// });
//
// //如果对某些参数不感兴趣,由于JavaScript的函数调用不要求参数必须一致,因此可以忽略它们。例如,只需要获得Array的element:
//
// a.forEach(function (element) {
// alert(element);
// });
JavaScript---map和set
最新推荐文章于 2024-07-30 10:56:44 发布