Array Find не возвращает правильный ответ в машинописи - PullRequest
0 голосов
/ 31 марта 2020

У меня есть список данных с различными данными следующим образом

[0: {lat: "37.829998", lng: "-122.003152", title: "Allocate", pairStatus: 1, …}
 1: {lat: "37.829998", lng: "-122.003152", title: "Commission", pairStatus: 1, …}
 2: {lat: "37.829998", lng: "-122.003152", title: "Aggregate", pairStatus: 1, …}
 3: {lat: "37.7745586", lng: "-121.9610328", title: "Ship", pairStatus: 1, …}
 4: {lat: "37.7745586", lng: "-121.9610328", title: "Ship", pairStatus: 1, …}]

 var getAutoRow;
 getAutoRow = this.latlist.find(fetch => fetch.lat== lat);

Мне нужен вывод следующим образом - когда я выбираю указать lat из списка данных

[0: {lat: "37.829998", lng: "-122.003152", title: "Commission"}]

Я не могу передать титул. Не могли бы вы помочь мне найти уточняющие данные lat , используя lat и index

1 Ответ

0 голосов
/ 31 марта 2020

Вы можете использовать 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
   })

  }

Вот рабочая демонстрация: Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...