Search code examples
javascriptarraysangularngforangular-ng-if

Angular Run *ngFor on particular Indexes Defined in Array


I am using a *ngFor loop but I only want the loop to run on particular indexes defined in an array (i.e. indexArray = [454,640]).

If I try this, and the indexArray has two or more elements, it does not work. But If the array has only one element (i.e. indexArray=[565]) it works.

<div *ngFor="let item of items; index as i">
  <table *ngIf="i == indexArray"> 

Solution

  • You can use .indexOf(i) and check whether it is in your indexArray variable.

    <div *ngFor="let item of items; index as i">
      <table *ngIf="indexArray.indexOf(i)> -1"> 
      <!-- REST OF THE CODE -->