Angular 2 TypeScript如何在数组中查找元素

新手上路,请多包涵

我有一个组件和一个服务:

零件:

 export class WebUserProfileViewComponent {
    persons: Person [];
    personId: number;
    constructor( params: RouteParams, private personService: PersonService) {


           this.personId = params.get('id');
           this.persons =  this. personService.getPersons();
           console.log(this.personId);
        }
}

服务:

 @Injectable()
export class PersonService {
      getPersons(){
        var persons: Person[] = [
            {id: 1, firstName:'Hans', lastName:'Mustermann', email: 'mustermann@test.com', company:'Test', country:'DE'},
            {id: 2, firstName:'Muster', lastName:'Mustermann', email: 'mustermann@test.com', company:'test', country:'DE'},
            {id:3, firstName:'Thomas', lastName:'Mustermann', email: 'mustermannt@tesrt.com', company:'test', country:'DE'}
        ];

        return persons;
      }
}

我想获取带有 ID(’personID’)的 Person 项目。我从 Routeparams 得到的 personID。为此,我需要 foreach 循环?但我还没有找到解决方案。

原文由 trap 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 778
1 个回答

您可以将 .find 与箭头函数和解构结合起来。 以 MDN 中的这个例子为例

 const inventory = [
  {name: 'apples', quantity: 2},
  {name: 'bananas', quantity: 0},
  {name: 'cherries', quantity: 5}
];

const result = inventory.find( ({ name }) => name === 'cherries' );

console.log(result) // { name: 'cherries', quantity: 5 }

原文由 Nathan Beck 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进