如何将这种lambda类型从流量转换为打字稿



我正在尝试将以下代码段从流程转换为typecript

let headAndLines = headerAndRemainingLines(lines, spaceCountToTab),
      header: string[] = headAndLines.header,
      groups: string[][]= headAndLines.groups,
      arrToObjs: (string[]) => {[string]: any}[] = makeArrayToObjectsFunction(errorInfo, spaceCountToTab, header),
      ....

,因为它的立场不喜欢lambda类型的arrtoobjs。

意外的令牌,期望";(361:28(
359 |标题:string [] = headandlines.header,
360 |组:string [] [] = headandlines.groups,
361 |arrtoobjs :( string [](=> {[string]:any} [] = makearrayToObjectSFunction(errorInfo,spacececounttotab,header(,

我尝试用括号围绕整个表达式

(string[]) => {[string]: any}[]) 

但这无济于事。

arrToObjs是一个函数,该函数采用一系列字符串并返回{string: any}的地图数组。在打字稿中编写此类型签名的正确方法是什么?

您需要命名您的变量:

let arrToObjs:(x: string[]) => { [key: string]: any }[];

另外,如果您返回一系列地图,则可以使用地图类型:

let arrToObjs:(x: string[]) => Map<string, any>[];

最新更新