Ваша ошибка возникает из-за того, что объект HTMLwords не является итерируемым. Для того чтобы сделать его итерируемым, можно использовать метод Object.entries(). Вот пример кода:
let HTMLwords = {
"html": "Описание html тега",
"head": "Описание head тега",
"body": "Описание body тега"
};
let input = document.querySelector('input');
let output = document.querySelector('output');
input.addEventListener('keydown', function(event) {
if (event.keyCode === 13) {
let tag = input.value;
if (tag in HTMLwords) {
output.innerHTML = HTMLwords[tag];
} else {
output.innerHTML = 'Такого тега нет в списке';
}
}
});
В этом примере мы создали объект HTMLwords, где ключами являются html теги, а значениями - описания этих тегов. Затем мы добавили обработчик события keydown на инпуте, который проверяет, была ли нажата клавиша Enter. Если да, то мы получаем значение инпута и проверяем, есть ли такой тег в объекте HTMLwords. Если есть, то выводим его описание в output, а если нет - сообщаем об этом.
Сейчас мы сделаем сайт, который будет помогать определить значение HTML тега. Пусть в этом скрипте будет инпут, в который пользователь будет вводить имя тега. После этого по нажатию на Enter под инпутом пусть выдается описание этого тега. Продумайте, как удобнее всего хранить имена тегов и их описания в соответствии с поставленной задачей. Реализуйте описанный сайт.
Решение:
Хотел сделать объект, где ключами будут html теги, а значениями - описания этих тегов. Но почему - то выводит ошибку:
Uncaught TypeError: HTMLwords is not iterable
at HTMLInputElement.<anonymous> (script.js:369:18)