Вы можете использовать filter
метод массива для фильтрации массива, соответствующего заданному условию c. Возвращает новый массив, соответствующий вашему состоянию.
Обратите внимание, что вы всегда должны использовать ===
при сравнении значений в JS.
let data= [{lat: "37.829998", lng: "-122.003152", title: "Allocate", pairStatus: 1},
{lat: "37.829998", lng: "-122.003152", title: "Commission", pairStatus: 1},
{lat: "37.829998", lng: "-122.003152", title: "Aggregate", pairStatus: 1},
{lat: "37.7745586", lng: "-121.9610328", title: "Ship", pairStatus: 1},
{lat: "37.7745586", lng: "-121.9610328", title: "Ship", pairStatus: 1}];
//console.log(data)
let lat = '37.7745586';
const getAutoRow = data.filter(fetch => fetch.lat === lat);
console.log(getAutoRow)
** Обновление:
Это то, как вы должны реализовать в Angular:
в component.html
:
<input type="text" list="latList" name="latitude" [(ngModel)]='result' (change)="getValues(result)" />
<datalist id="latList">
<select>
<option *ngFor="let product of data" [value]="product.lat"></option>
</select>
</datalist>
<input type="button" id="sub" (click)="getResult()" value="sub"/>
В component.ts
файле запишите ниже метод, когда нажата кнопка:
getResult(){
this.selectedLat = this.data.filter((item)=>{
return item.lat === this.result
})
}
Вот рабочая демонстрация: Демо