kmk*_*09k 3 javascript typescript angular
我有一个关于TypeScript的简化问题,其中“键”和“值”正在切换。为了演示这个问题,我有以下地图,我自己将其存储在文件中:
零件
export const PART_DATA : Map<string, string> = new Map(
[
[ 'PI', 'Piping' ],
[ 'TC', 'Truck Components' ],
[ 'BE', 'Brake Equipment' ]
]);
Run Code Online (Sandbox Code Playgroud)
...,我们将在实现此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);
});
}
}
Run Code Online (Sandbox Code Playgroud)
...我们的输出将开始如下所示:
here is Piping, PI
Run Code Online (Sandbox Code Playgroud)
...何时应交换键和值。这是不是一个巨大的问题,但我用了几个映射设置了这样的PART_DATA例子,但这是我第一次看到这个问题,当我循环访问该地图(这个这个岗位上迭代迭代一个TS地图) 。为了清楚起见,我首先需要遍历Map,以便可以向UI显示一些选项。
小智 5
Map的forEach方法中的回调采用以下顺序的参数:
function(value,key,map)
正确的语法为:
PART_DATA.forEach((value: string, key: string) => {
console.log("here is " + key + ', ' + value);
});
Run Code Online (Sandbox Code Playgroud)
参见https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach