首页 > 其他分享 >兼收并蓄 TypeScript - 基础: map

兼收并蓄 TypeScript - 基础: map

时间:2024-09-20 12:14:38浏览次数:1  
标签:map TypeScript console log value 兼收并蓄 key myMap

源码 https://github.com/webabcd/TypeScriptDemo
作者 webabcd

兼收并蓄 TypeScript - 基础: map

示例如下:

basic\map.ts

{
    // map 是一个 key/value 集合,先进先出,遇到重复键值则后面的会覆盖前面的,key 和 value 都支持类型的多样性
    // 常规操作有 set(), get(), delete(), keys(), values(), has(), clear(), size 等
    let myMap = new Map();


    // 设置和获取
    myMap.set("a", "aaa");
    myMap.set("b", 100); // key 和 value 都支持类型的多样性
    myMap.set("c", "ccc");
    myMap.set("c", "ddd"); // 遇到重复键值则后面的会覆盖前面的
    console.log(`a:${myMap.get("a")}, b:${myMap.get("b")}, c:${myMap.get("c")}, size:${myMap.size}`); // a:aaa, b:100, c:ddd, size:3


    // 遍历 key/value
    for (let [key, value] of myMap) {
        console.log(key + ":" + value);
    }
    // 遍历 key/value(map.entries() 会返回一个新的 Iterator 对象,它按插入顺序包含了 map 对象中的 key/value 集合)
    for (let [key, value] of myMap.entries()) {
        console.log(key + ":" + value);
    }
    // 遍历 key
    for (let key of myMap.keys()) {
        console.log(key);
    }
    // 遍历 value
    for (let value of myMap.values()) {
        console.log(value);
    }
    // 遍历 key/value(forEach 方式)
    myMap.forEach(function(value, key) {
        console.log(key + ":" + value);
    });


    // 实例化 map 对象时,初始化其 key/value 数据集合
    console.log(new Map([["a", "aaa"], ["b", "bbb"], ["c", "ccc"]])); // {a => aaa, b => bbb, c => ccc}


    // map 对象转数组
    console.log(Array.from(new Map([["a", "aaa"], ["b", "bbb"], ["c", "ccc"]]))); // [["a", "aaa"], ["b", "bbb"], ["c", "ccc"], length: 3]


    // 实例化 map 对象时,可以指定数据来源的 map 对象(这个相当于 map 对象的克隆)
    let myMap1 = new Map([["a", "aaa"], ["b", "bbb"], ["c", "ccc"]]);
    let myMap2 = new Map(myMap1);
    console.log(`a:${myMap2.get("a")}, b:${myMap2.get("b")}, c:${myMap2.get("c")}`); // a:aaa, b:bbb, c:ccc


    // 合并 map 对象,如果遇到重复键值,则后面的会覆盖前面的
    let myMap3 = new Map([["a", "aaa"], ["b", "bbb"]]);
    let myMap4 = new Map([["c", "ccc"], ["b", "ddd"]]);
    let myMapMerged = new Map([...myMap3, ...myMap4]);
    console.log(myMapMerged); // {a => aaa, b => ddd, c => ccc}
}

源码 https://github.com/webabcd/TypeScriptDemo
作者 webabcd

标签:map,TypeScript,console,log,value,兼收并蓄,key,myMap
From: https://www.cnblogs.com/webabcd/p/18422247/typescript_basic_map

相关文章

  • 兼收并蓄 TypeScript - 基础: tuple
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:tuple示例如下:basic\tuple.ts{//tuple-元组leta:[string,number]=['webabcd',22];a[0]='wanglei';a[1]=44;console.log(a,a[0......
  • 兼收并蓄 TypeScript - 类: enum
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-类:enum示例如下:class\enum.ts{//简单枚举enumStatus{ok,error};console.log(Status["ok"],Status["error"]);//01console.log(Status[0],Status......
  • 兼收并蓄 TypeScript - 类: function
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-类:function示例如下:class\function.ts{//定义函数时要指定参数的类型和返回值的类型,无返回值时可以用void表示functionf1(x:number,y:number):number{retur......
  • 兼收并蓄 TypeScript - 类: interface
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-类:interface示例如下:class\interface.ts{//接口用于定义对象的形状,这个是TypeScript的功能(JavaScript中没有)interfacePerson{readonlyid:number;//只读......
  • 兼收并蓄 TypeScript - 基础: 基础
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:基础示例如下:basic\basic.ts{//基础//try/catch/finally的用法functionf1(str:string):number|null{try{letnum=Number(str......
  • 兼收并蓄 TypeScript - 基础: var, let, const
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:var,let,const示例如下:basic\var_let_const.ts//var声明的变量是全局作用域,块外也可用{vara=10;}console.log(a);//let声明的变量是块作用域,仅块内可用{......
  • 兼收并蓄 TypeScript - 基础: 数据类型
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:数据类型示例如下:basic\dataType.ts{//基本数据类型boolean,number,string,symbolleta:boolean=true;letb:number=10;letc:string="abc";......
  • 兼收并蓄 TypeScript - 基础: null, undefined
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:null,undefined示例如下:basic\null_undefined.ts{console.log(undefined==null,undefined===null);//truefalseconsole.log(typeofnull,typeofundefined);......
  • 兼收并蓄 TypeScript - 基础: boolean
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:boolean示例如下:basic\boolean.ts{leta=true;console.log(a);//true//将指定类型的数据转换为boolean类型console.log(Boolean(100),Boolean(......
  • 处理微信小程序 ec-canvas 绘制map地图时缩放大小问题
    版本为5.1.2min版本,https://github.com/apache/echarts/releases?page=3 最重要的是这个下面这个dataZoom写法添加dataZoom:{type:'inside'},constoption={dataZoom:{type:'inside'},geo:......