Редко работаю с JS, но вот пришлось и неожиданно для себя обнаружил очень странное (на мой взгляд) поведение стандартных циклов. Т.е. я пишу например for (let index in data)
, но в большинстве языков параметром цикла идет сам элемент, а не его ключ... Я даже ненадолго залип на этой ошибке прежде чем понял что там именно ключ передается. А можно как то сделать чтобы возвращался и элемент тоже? Или только самому писать let item = data[index]
? Ну типа чтобы может какой-нибудь кортеж возвращался если они тут есть... Или еще что-то.
Например как в питоне: for key, value in data.iteritems():
В последних версиях языка ввели for..of
var arr = ['a', 'b', 'c']
for (let i of arr) {
console.log(i);
}
Кроме этого можно использовать методы Object.entries
и Object.values
(данные методы можно применять к любым объектам, не только к массивам)
var arr = ['a', 'b', 'c']
console.log(JSON.stringify(Object.entries(arr)));
console.log(JSON.stringify(Object.values(arr)));
Например как в питоне: for key, value in data.iteritems():
Можно использовать деструктуризацию при обходе:
var arr = ['a', 'b', 'c']
for (let [key, value] of Object.entries(arr)) {
console.log(key, value);
}
Используйте for ... of ...
for (let value of data) {
console.log(value);
}
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for...of
Обратите внимание на поддержку браузеров!
IE не поддерживает данную конструкцию.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
я не разбираюсь вобще, что такое vps не понимаю, мне желательно нужен хостинг на русском языке, чтобы я просто загрузил сайт и он там сразу работалну...
Как сделать фокус на input, который сначала скрыт,но по клику на кнопке открывается ? Атрибут autofocus срабатывает только первый раз, а 'nativeElement'...
Здравствуйте, есть код который служит для отправки сообщения при нажатии enter: