遍历Typescript映射 [英] Iterating over Typescript Map

查看:192
本文介绍了遍历Typescript映射的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试遍历打字稿图,但是我一直遇到错误,而且对于这种琐碎的问题,我还找不到任何解决方案.

I'm trying to iterate over a typescript map but I keep getting errors and I could not find any solution yet for such a trivial problem.

我的代码是:

myMap : Map<string, boolean>;
for(let key of myMap.keys()) {
   console.log(key);
}

我得到了错误:

类型'IterableIteratorShim< [string,boolean]>'不是数组类型或字符串类型.

Type 'IterableIteratorShim<[string, boolean]>' is not an array type or a string type.

完整堆栈跟踪:

 Error: Typescript found the following errors:
  /home/project/tmp/broccoli_type_script_compiler-input_base_path-q4GtzHgb.tmp/0/src/app/project/project-data.service.ts (21, 20): Type 'IterableIteratorShim<[string, boolean]>' is not an array type or a string type.
    at BroccoliTypeScriptCompiler._doIncrementalBuild (/home/project/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:115:19)
    at BroccoliTypeScriptCompiler.build (/home/project/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:43:10)
    at /home/project/node_modules/broccoli-caching-writer/index.js:152:21
    at lib$rsvp$$internal$$tryCatch (/home/project/node_modules/rsvp/dist/rsvp.js:1036:16)
    at lib$rsvp$$internal$$invokeCallback (/home/project/node_modules/rsvp/dist/rsvp.js:1048:17)
    at lib$rsvp$$internal$$publish (/home/project/node_modules/rsvp/dist/rsvp.js:1019:11)
    at lib$rsvp$asap$$flush (/home/project/node_modules/rsvp/dist/rsvp.js:1198:9)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)

我正在使用angular-cli beta5和打字稿1.8.10,我的目标是es5. 有人遇到这个问题吗?

I'm using angular-cli beta5 and typescript 1.8.10 and my target is es5. Has anyone had this Problem?

推荐答案

您可以改用Map.prototype.forEach((value, key, map) => void, thisArg?) : void

像这样使用它:

myMap.forEach((value: boolean, key: string) => {
    console.log(key, value);
});

这篇关于遍历Typescript映射的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆