【问题标题】:for..of does not work with Mapfor..of 不适用于地图
【发布时间】:2017-05-30 15:00:51
【问题描述】:

我想遍历地图,但控制台中没有任何输出。

更准确地说,我在转译器中遇到以下错误:

错误 TS2304:找不到名称“地图”。

 let map = new Map([
  ["A", 1],
  ["B", 2],
  ["C", 3],
]);

for (let value of map.values()){
  console.log(value) ;
}

tsconfig.json:

{
  "compilerOptions": {
    "module" : "commonjs",
    "target" : "es6" ,
    "noImplicitAny" : false ,
    "sourceMap" : false
  }
}

建议?

【问题讨论】:

  • 什么“不起作用”?你有错误吗?在哪里?你在什么环境下运行代码?转译后的代码是什么样的?
  • 没有错误。就像我说的那样,控制台中没有任何输出。
  • 试试这个解决方案:stackoverflow.com/a/39418293/1823841
  • @IvanIvanov 你确定你的目标是es6吗?你使用的是什么版本的 TypeScript?
  • 您遇到的错误似乎与for/of 无关。

标签: typescript ecmascript-6


【解决方案1】:

tsc 似乎找不到我的 tsconfig.json。当我使用时:tsc -t ES6 app.ts Transpilation 非常顺利。

【讨论】:

    【解决方案2】:

    你能把你的 tsconfig.json 改成下面的 conf 再试一次吗?

    {
      "compilerOptions": {
        "target": "es6", 
        "module": "commonjs",
        "lib": ["es2015", "dom"],              
        "sourceMap": true,
        "noImplicitAny" : false 
      }
    }
    

    【讨论】:

      【解决方案3】:

      使用这个:

      map.forEach((value) => {
        console.log(value) ;
      });
      

      【讨论】:

        猜你喜欢
        • 2014-12-13
        • 1970-01-01
        • 2012-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-22
        • 1970-01-01
        相关资源
        最近更新 更多