如何过滤数组并返回整个对象 - Angular

Mou*_*ter -1 angular angular-arrays

export class ResultComponent {
    students: AdmissionFormData[]

    constructor(private adStudent: AdmissionFormService) {
        adStudent.adFormGet().subscribe(
            x => this.students = x
        )
    }

    onSubmit(value) {

    }
}
Run Code Online (Sandbox Code Playgroud)

在学生数组中,我有数据。而onSubmit是函数,value是参数“roll”

HTML 文件:

<div class="form">
<div class="col-md-5 offset-md-3">
  <div class="card">
      <div class="card-header text-center">
          <h3 id="form_name" >Search Result</h3>
      </div>

      <div class="card-block">
          <form (ngSubmit)="onSubmit(f.value)" #f="ngForm" >
              <div class="form-group">
                <label for="">Roll</label>
                <input
                type="number" 
                ngModel
                name="reg" 
                #reg="ngModel" 
                [min]="99999"
                placeholder="Ex: 224697"
                class="form-control">
                <p class="text-danger" *ngIf="!reg.valid && reg.touched">Roll Should have at least 6 letter</p>
              </div>
              <input 
              type="submit"
              value="Search" 
              class="btn btn-block btn-outline-success">
          </form>
      </div>
  </div>
Run Code Online (Sandbox Code Playgroud)

数组

我想在这个数组中搜索卷,如果找到匹配项,那么我想返回整个数组并在某个地方使用它。

现在我该怎么做呢?

我想我之前犯了一个错误,所以我编辑了这个问题。请原谅我是新来的。

Saj*_*ran 5

您可以将 array.filter 与要过滤的属性一起使用,因为您没有提到该属性,假设它为fullname

this.students = this.students.filter(t=>t.fullname ===roll)[0];
Run Code Online (Sandbox Code Playgroud)

或者如果您想要单个对象,请使用 array.find

let studentObj =  this.students.find(t=>t.fullname ===roll);
Run Code Online (Sandbox Code Playgroud)