Как найти все записи в массиве обьектов по массиву?

Для поиска всех записей в массиве объектов по массиву в TypeScript, вы можете использовать метод filter() в сочетании с методом includes() для проверки вхождения элемента массива в массив объектов.

Вот пример кода, демонстрирующий эту идиому:

interface MyObject {
  id: number;
  name: string;
  age: number;
}

const array: MyObject[] = [
  { id: 1, name: "John", age: 25 },
  { id: 2, name: "Jane", age: 30 },
  { id: 3, name: "Bob", age: 35 },
  { id: 4, name: "Alice", age: 40 }
];

const idsToFind: number[] = [2, 4];

const filteredArray: MyObject[] = array.filter(obj => idsToFind.includes(obj.id));

console.log(filteredArray);

В этом примере у нас есть массив array, который содержит объекты типа MyObject. Мы также имеем массив idsToFind, в котором содержатся идентификаторы объектов, которые мы хотим найти.

Мы используем метод filter() для фильтрации массива array. Внутри функции обратного вызова мы проверяем, содержится ли obj.id в массиве idsToFind с помощью метода includes(). Если это так, то объект будет добавлен в результат фильтрации.

В результате, массив filteredArray будет содержать только те объекты, чьи идентификаторы найдены в массиве idsToFind. В нашем примере, результат будет:

[
  { id: 2, name: "Jane", age: 30 },
  { id: 4, name: "Alice", age: 40 }
]

Таким образом, используя метод filter() с методом includes(), вы можете эффективно найти все записи в массиве объектов по массиву в TypeScript.