lodash升级后的错误

时间:2019-12-16 11:51:58

标签: angularjs typescript types lodash restangular

我将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? 我没有找到任何解决方案。如果有人知道如何解决,请提供帮助。

1 个答案:

答案 0 :(得分:0)

如果您想强制执行速记对象的部分检查,这会有所帮助。

type IdModel = { id: number, foo: string }; const list: Array<IdModel> = [{ id: 1, foo: 'test'}]; find<IdModel>(list, { id: 1});

但是大多数情况下,您不应该指定通用参数,而应使用默认的推断参数