В Typescipt Map используйте поле значения map в качестве ключа основной карты

#typescript

#typescript

Вопрос:

У меня есть карта:

 { 
  '1': { id: '1', name: 'foo' },
  '2': { id: '2', name: 'foo' }
}
  

Поле идентификатора карты значений является ключом основной карты.
Как я могу описать, что поля связаны с Typescript?

Что-то вроде этого:

 interface Item {
  id: string;
  name: string;
}

interface ItemMap { 
   [id: Item.id]: Item 
}
  

Комментарии:

1. проверить описание? что вы имеете в виду? может быть, покажите, что вы хотите в дополнение к карте

2. @konclave вы хотите убедиться, что значение id во внутреннем объекте совпадает с ключом внешнего объекта, который его окружает? Я имею в виду, в вашем примере, чтобы убедиться, что первый элемент имеет идентификатор ‘1’? Или, с другой стороны, вы хотите убедиться, что любой из «идентификаторов» соответствует некоторому ключу внешнего объекта?

3. @Sergeon я хочу убедиться, что ключ первого элемента совпадает с полем идентификатора значения первого элемента. Это похоже на массив карт, но преобразовано в map of maps только для получения объекта по ключу, а не для поиска по идентификатору в массиве

4. @Ric извините, это была опечатка. Как я могу описать поля ссылка