Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/55: Рейтинг темы: голосов - 55, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 11.11.2015
Сообщений: 31

Разница между for in / for of

05.02.2017, 15:07. Показов 11925. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите пожалуйста, почему последний цикл не вывел "hello"?
JavaScript
1
2
3
4
5
6
7
8
9
10
let arr = [3, 5, 7];
arr.foo = "hello";
 
for (let i in arr) {
   console.log(i); // logs "0", "1", "2", "foo"
}
 
for (let i of arr) {
   console.log(i); // logs 3, 5, 7
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.02.2017, 15:07
Ответы с готовыми решениями:

Какая разница между различными сокетами (например, между 775 и 1155)?
Обясните пожалуйста какая разница между сокетами, пример есть сокет 775 и 1155 я понимаю что разем не тот процессора другие но! как насчет...

Разница между == и ===
Разница между == и ===. Как я понял два знака, это для разных типов тоже подходит "1"==1(True), а три знака только для однотипных...

Разница между 42.1 и 13.2?
Смотрел на сайте две версии 42.1 только 64 битные, а 13.2 и 32 и 64, но разницы не могу понять, что только биты? Добавлено через 2...

15
Заблокирован
05.02.2017, 20:19
Лучший ответ Сообщение было отмечено Den4yk как решение

Решение

потому что for of перебирает только числовые индексы массива.
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
06.02.2017, 00:18
asmquest,
JavaScript
1
2
3
for (let i of ['Ivan', 'Petr', 'Fedor']) {
   console.log(i); // Ivan, Petr, Fedor
}
JavaScript
1
2
3
4
5
let arr = [3, 5, 7];
arr.foo = "hello";
for (var i in arr) {
  console.log(arr[i]); //3, 5, 7, hello
}
arr.foo = "hello"; ВЫ добавили в объект, а не в массив
0
Заблокирован
06.02.2017, 00:24
Fedor Vlasenko, Вы какую то чушь несете, типы засунутые в массив не имеют значения, индексы массива -- это немножко о другом: {"0": 1, "1": 2, "foo": "bar"} и тп
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
06.02.2017, 00:47
asmquest, где чушь
я привел пример
JavaScript
1
2
3
for (let i of ['Ivan', 'Petr', 'Fedor']) {
   console.log(i); // Ivan, Petr, Fedor
}
который отрицает ваше
Цитата Сообщение от asmquest Посмотреть сообщение
потому что for of перебирает только числовые индексы массива.
Цитата Сообщение от asmquest Посмотреть сообщение
индексы массива -- это немножко о другом: {"0": 1, "1": 2, "foo": "bar"} и тп
здесь вы говорите об объекте, и не забывайте, что массив это так-же объект
JavaScript
1
alert(typeof []);
0
Заблокирован
06.02.2017, 00:50
Fedor Vlasenko, я с Вами спорить ни о чем не собираюсь, вы спец сильный сразу видно.
Цитата Сообщение от Fedor Vlasenko Посмотреть сообщение
arr.foo = "hello"; ВЫ добавили в объект, а не в массив
Цитата Сообщение от Fedor Vlasenko Посмотреть сообщение
не забывайте, что массив это так-же объект
Учите матчать лучше, чтобы в дальнейшем идиотом себя не выставлять
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
06.02.2017, 00:52
arr.foo = "hello";

JavaScript
1
2
3
let arr = [3, 5, 7];
arr.foo = "hello";
alert(arr.length);
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
06.02.2017, 02:18
Den4yk, В то время как for...in обходит имена свойств, for...of выполняет обход значений свойств:
0
Заблокирован
06.02.2017, 02:21
Padimanskas, это тут не причем. ТС спрашивает: почему последний цикл не вывел "hello"?
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
06.02.2017, 02:24
Оператор in возвращает true если свойство содержится в указанном объекте
0
Заблокирован
06.02.2017, 02:26
Цитата Сообщение от Padimanskas Посмотреть сообщение
Оператор in возвращает true если свойство содержится в указанном объекте
это in, а не for in
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
06.02.2017, 02:41
Цитата Сообщение от asmquest Посмотреть сообщение
это in, а не for in
действие логического оператора in несколько идентично работе внутри for
0
Заблокирован
06.02.2017, 02:45
Цитата Сообщение от Padimanskas Посмотреть сообщение
несколько идентично работе внутри for
нет никакой работы внутри for. Это отдельные синтаксические конструкции, которые не имеют отношения друг к другу
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
06.02.2017, 03:00
Цитата Сообщение от asmquest Посмотреть сообщение
нет никакой работы внутри for. Это отдельные синтаксические конструкции, которые не имеют отношения друг к другу
я говорю лишь про похожее действие, можно провести аналогию только и всего. Но все верно - for of новая вещица из es6 которая извлекает именно значение.

Добавлено через 2 минуты

Не по теме:

Ох, я и не посмотрел форму вашей дискуссии. Скорее всего вас забанят обоих, какая жаль:bye:

0
Заблокирован
06.02.2017, 04:04
Цитата Сообщение от Padimanskas Посмотреть сообщение
про похожее действие
в чем похожесть?

Добавлено через 1 минуту
Цитата Сообщение от Padimanskas Посмотреть сообщение
которая извлекает именно значение.
я уже сказал, что это никакого отношения к теме не имеет, что "все равно"?
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
06.02.2017, 13:41
Цитата Сообщение от asmquest Посмотреть сообщение
в чем похожесть?
работает исключительно с свойствами объектов, разве нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.02.2017, 13:41
Помогаю со студенческими работами здесь

Разница между --f и f--
Не понимаю, читал, что разницы между --f и f-- вообще никакой нет, но при компиляции программы выдаёт разные значения: #include...

разница между C# и C++
Здравствуйте! Может ли кто-нибудь досказать по пунктам разницу между C++ и C# их приоритеты

Разница между j++ и ++j
Есть ли разница между for ( j=0; j < n; j++) и ( j=0; j < n; ++j) Видел , что так и так пишут. Сам же только по 1му способу

Разница между ! и ~
Hellow Подскажите в чем разница между ! И ~ ? if (!true) ... if (~true) ....

Разница между 64 и 32
Здравствуйте, уважаемые эксперты, недавно на ноутбуке умер жесткий диск, в сервсисе его сменили, и поставили виндоус 7 хоум премиум....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru