искать в массиве объектов значение - PullRequest
0 голосов
/ 28 мая 2020

У меня есть массив объектов, который выглядит следующим образом

class ValueError {
  value: string;
  error?: string;

  constructor() {
    this.value = null;
    this.error = null;
  }
}

export class Record {
  productId: ValueError;
  dpt: ValueError;
  storeNumber: ValueError;
  email: ValueError;
}

Я хочу найти в этом массиве идентификатор продукта (значение) и storeNumber (значение). это то, что я пробовал до сих пор. я не знаю, как искать значение

searchBy = '123';
filter() {
   const result = JSON.parse(JSON.stringify(this.allRecords));
   Object.keys.forEach(key => {
   result[key] = result[key].filter(r=> (r.productId.value) && (this.searchBy.includes(r.productId.value)))
})
}

1 Ответ

1 голос
/ 28 мая 2020

метод ниже вернет вам отфильтрованный массив. потому что у вас, кажется, есть массив объектов. поэтому можно использовать обычный метод фильтрации для возврата нового массива с отфильтрованным значением.

public filter() {
  return result.filter((r) => (r.productId.value) && (this.searchBy.includes(r.productId.value)));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...