@tempfolder

Как призначить агрумент функции как свойство другого обьекта?

Подскажите, как можно в
данной функции
sortAny(contacts: ContactList[], type?: string, direction?: string) {
    
    const sortArr = contacts.sort(function (a, b) {
      const x = a.type;
      const y = b.type;
      if (x > y) {
        return 1;
      }
      if (x < y) {
        return -1;
      }
      return 0;
    });

    if (direction === 'down') {
      return sortArr;
    }
    if (direction === 'up') {
      return sortArr.reverse();
    }
    return contacts;
  }
конкретно в этом
фрагменте кода
const x = a.type;
      const y = b.type;
, присваивать значение агрумента type, как свойство обьекта a и b.
К примеру если передаётся агрумент type со значением "fname", оно подставлялось на место a.type и b.type.
Сейчас выбрасывает ошибку, что и логично:
any
Property 'type' does not exist on type 'ContactList'.ts(2339)
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
@galaxy
const x = a[type];
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы