Почему я не могу использовать счетчик, объявленный в петле непосредственно, чтобы подтвердить, не является ли значение вJavascript

Форум по Javascript
Ответить
Anonymous
 Почему я не могу использовать счетчик, объявленный в петле непосредственно, чтобы подтвердить, не является ли значение в

Сообщение Anonymous »

Использование vscode/typescript.
Я пытаюсь подтвердить наличие значений в Float32Array в FOR-петле и немедленно ссылаюсь на них. Однако, если я использовал счетчик, объявленный в FOR-петле, чтобы проверить значение в индексе, а затем ссылаться на его сразу после этого, он, похоже, не подтверждает проверку. Например ,:

Код: Выделить всё

for (let idx = 0; idx < collection.length; idx++) {
if (collection[idx] !== undefined) {
collection[idx] = collection[idx] * 2;
}
}
дал бы мне «объект, возможно, не определен » для коллекции [idx] , несмотря на проверку незадолго до.
экранинг:
Изображение

However, if I were to reassign idx to another value within the loop, and use that as the index instead, it doesn't complain:

Код: Выделить всё

for (let idx = 0; idx < collection.length; idx++) {
const localIdx = idx;
if (collection[localIdx] !== undefined) {
collection[localIdx] = collection[localIdx] * 2;
}
}
Screenshot:

, хотя этот обходной путь чувствует себя не нужным. Это законная ошибка или ошибка в инструментах проверки? Спасибо за проницательность!

Подробнее здесь: https://stackoverflow.com/questions/797 ... irm-if-the
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»