openlang

初始化以字符串数组为值的 TypeScript Map

我在创建一个 Map,其中每个条目都保存字符串数组。怎样在一条语句中同时声明类型并完成初始化?

我(天真地)这样试了一下。

    private _rowEntries:Map<string, Array<string>> = {"3": ["sampleA"]};

结果是下面这个错误。

  Module build failed: Error: /Users/arden/Work/controlpanel/src/app/core/rows.service.ts (12,7): Type '{ "3": string[]; }' is not assignable to type 'Map<string, string[]>'.
从英语翻译查看原文

后续讨论 2

顺着彼此的依据读下去
  1. 固定链接
      entryTable: Map<string, string[]> = new Map();

    向 Map 插入条目时这样写。

      entryTable.set("m", ["n", "p"]);

    从 Map 读取条目时这样写。

      entryTable.get(entryKey);// "m" in above case

    或者直接初始化

      entryTable: Map<string, string[]> = new Map([['m', ['n', 'p']]]);
    从英语翻译查看原文

同一个问题的其他角度

  1. Typescript 可调用函数的约定

    为什么 Typescript 接受我的函数定义,虽然它与接口签名不同,但当我实际调用同一个函数时却报告问题。

    回复 2最近活动 typescript
  2. Solidity 从 address 转换为 uint256 时失败

    我创建了一个包含结构体的数组,然后尝试从该数组取得每个账号的值。但传入包含 msg.sender 的 address 变量时失败了,因为它的类型似乎无法转换为 uint256。应该怎样实现?

    回复 3最近活动 solidity
  3. 只读的 List<Int> 算快照吗?

    List<Int> 是只读视图,不是快照。它只告诉使用方,通过这个引用可以调用哪些操作,并不保证它背后的集合不会变。 比如 val owned = mutableListOf(2, 4)。调用方把 owned 传给一个接收 List<Int> 的函数…

    回复 4最近活动 kotlin