我将Angular JS项目的lodash库从(v 2.4.1升级到4.17.15)和类型/ lodash(v 3.10.1到4.14.136)进行了升级。升级后,我发现_.find错误。 错误声明
:“ {'Id”类型的参数:任意; }”不能分配给“ ListIteratorTypeGuard <{},IdModel>”类型的参数。
this.search = _.find<{}, IdModel>(this.Idlist, {'Id': Id});
如何将其转换为ListIteratorTypeGuard? 我没有找到任何解决方案。如果有人知道如何解决,请提供帮助。
答案 0 :(得分:0)
如果您想强制执行速记对象的部分检查,这会有所帮助。
type IdModel = {
id: number,
foo: string
};
const list: Array<IdModel> = [{ id: 1, foo: 'test'}];
find<IdModel>(list, { id: 1});
但是大多数情况下,您不应该指定通用参数,而应使用默认的推断参数