export default class Foo {
first: string;
second: X[];
}
export function parse(foo?) {
if(foo) {
return Builder<Foo>(Foo)
.first(foo.first || "")
.second(XFunctions.parse(foo.second.map(second => XFunctions.parse(second))))
.build();
}
我收到如上所述的错误:“类型X的参数不能分配给类型X []的参数”
这是我的X类的代码:
export default class X {
first: string;
second: string;
third: string;
fourth: boolean
}
export function parse(x?) {
if(x) {
return Builder<X>(X)
.first(x.first || "")
.second(x.second || "")
.third(x.third || "")
.fourth(x.fourth)
.build();
}
return Builder<X>(X)
.first("")
.second("")
.third("")
.fourth(true)
.build();
}
我认为使用map()会进行跟踪,因为它将遍历X []中的每个元素,将解析函数应用于每个元素,但是我一定误会了它的工作原理。我知道此错误是一个常见问题,如果另一个问题我没有看到更好的答案,我会向您道歉。