Typescript - введите изменения в строку для l oop для массива - PullRequest
0 голосов
/ 21 июня 2020

Я объявил a для l oop в массиве определенного типа c. Когда я использую этот массив для l oop, я получаю сообщение об ошибке, потому что машинописный текст определяет его как тип строки, а не как объявленный тип указанного c элемента.

const repos: Repo[] = config.get("repos");
for(const repo in repos) {
  calculate(repo)
}

Я получаю сообщение об ошибке значение, которое я передаю для вычисления, относится не к типу Repo, а к типу string.

ПРИМЕЧАНИЕ. Это не ошибка времени выполнения. Я получаю это в VS Code с кодом ts (2345)

1 Ответ

2 голосов
/ 21 июня 2020

Вероятно, вы хотели использовать for ... of l oop, а не for ... in l oop. Код, который вы написали, перебирает перечислимые ключи объекта, поэтому репо начинается со строки "0", затем "1", et c. Если вместо этого вы сделаете for ... of, вы будете перебирать массив, при этом репо будут присвоены значения в массиве.

for(const repo of repos) {
  calculate(repo)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...