我无法理解为什么布尔值的类型为boolean [] ...
const obj: { [key: number]: string } = { 1: "Hi", 2: ", there" };
const booleans = _.chain(obj)
.keys()
.map((key: number) => ({ ItemKey: key, ItemText: obj[key] }))
.value();
任何线索?!以下代码生成一个具有正确类型{ItemKey:number,ItemText:string} []的变量:
const obj: { [key: number]: string } = { 1: "Hi", 2: ", there" };
const correctType = _.chain(obj)
.keys()
.map(key => ({ ItemKey: parseInt(key), ItemText: obj[parseInt(key)] })) // key is inferred to be string, because keys() returns string[]
.value();
我正在使用Typescript 2.0.10进行编译,但即使是使用Typescript 2.2.2的VS Code也会对intellisense说同样的事情。
答案 0 :(得分:0)
这是lodash打字的问题。我会提交拉取请求!
请参阅https://github.com/DefinitelyTyped/DefinitelyTyped/blob/c2bca7c/types/lodash/index.d.ts#L8563