我带来了一个关于TypeScript的简化问题,我的" key"和"价值"正在切换。为了演示这个问题,我将以下地图放在文件中:
Parts.ts
export const PART_DATA : Map<string, string> = new Map(
[
[ 'PI', 'Piping' ],
[ 'TC', 'Truck Components' ],
[ 'BE', 'Brake Equipment' ]
]);
...我们将调用我的其他文件来实现这个Map,ProcessParts.ts,它将如下所示:
import {Component, OnInit, NgModule} from '@angular/core';
import {PART_DATA} from './Parts';
export class ProcessParts {
ngOnInit(){
PART_DATA.forEach((key: string, value: string) => {
console.log("here is " + key + ', ' + value);
});
}
}
...我们的输出将开始如下所示:
here is Piping, PI
...应该交换密钥和值。这不是一个大问题,但是我使用的是一些像PART_DATA
示例这样设置的地图,但这是我在迭代这个地图时第一次看到这个问题(这个{{3}迭代迭代ts映射)。为清楚起见,我需要首先迭代Map,以便我可以向UI显示一些选项。
答案 0 :(得分:4)
Map上forEach方法的回调按以下顺序获取参数:
function(value,key,map)
正确的语法是:
PART_DATA.forEach((value: string, key: string) => {
console.log("here is " + key + ', ' + value);
});
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach