Angular 使用lodash查找对象数组无效

Angular 使用lodash查找对象数组无效,angular,lodash,Angular,Lodash,我有一个服务,它有一个对象数组。该服务中的方法之一是基于作为参数传递给该方法的id返回一个对象。我使用lodash来查找特定对象,但它不起作用 代码: PortfolioService.ts portfolios: PortfolioModel[] = [ { id: 13, image: '../../assets/images/portfolio/07-chick.png' }, { id: 14, image: '../../assets/ima

我有一个服务,它有一个对象数组。该服务中的方法之一是基于作为参数传递给该方法的
id
返回一个对象。我使用lodash来查找特定对象,但它不起作用

代码:

PortfolioService.ts

portfolios: PortfolioModel[] = [
  {
    id: 13,
    image: '../../assets/images/portfolio/07-chick.png'
  },
  {
    id: 14,
    image: '../../assets/images/portfolio/04-cat.png'
  },
  {
    id: 15,
    image: '../../assets/images/portfolio/01-dog.png'
  }
];
...
getPortfolio(id: number): Observable<PortfolioModel> {
  const tmp = _.find(this.portfolios, (x) => x.id === id);
  console.log(id);
  return(of<PortfolioModel>(tmp));
}
PortfolioModel[]=[
{
id:13,
图像:'../assets/images/portfolio/07 chick.png'
},
{
身份证号码:14,
图像:'../assets/images/portfolio/04 cat.png'
},
{
身份证号码:15,
图像:'../assets/images/portfolio/01 dog.png'
}
];
...
getPortfolio(id:number):可观察{
const tmp=u.find(this.portfolions,(x)=>x.id==id);
console.log(id);
返回(tmp);
}

这里我得到的参数是
13
14
,但当我控制台tmp时,它显示
undefined
。我的代码有什么问题吗?

你在哪里安慰代码中的tmp var?我试着安慰tmp,然后我想id是否未定义,这就是为什么我在代码中检查id。你能用import语句共享portfolio.service.ts吗。请检查这里,我能够记录tmp@Ranjith Varatharajan-我尝试了您的示例,它工作得非常好,当您将13作为参数传递给getPortfolio时,它返回id为13的对象。明白了。代码是正确的,我将数字作为字符串而不是数字传递。让我哑口无言。