Цикл проверяет только последный ключ обьекта
тут при клике на кнопку проверяется то что написано в input-е существует ли в обьекте если да то консолит true в противном случае false. Вопрос, почему проверяет только последный ключ на проверку?
let a4 = {
3 : 'hello',
'one' : 'hi',
'testt' : 'vodoley',
'ivan' : 'ivanov'
};
let x = document.querySelector(".keys")
let y = document.querySelector(".btn")
for(key in a4){
y.onclick = ()=>{
if(x.value == key){
console.log(true)
}
else{
console.log(false)
}
console.log(key,x.value)
}
}
<input type = "text" class="keys"></input>
<button class = "btn">Check!</button>
Ответы (1 шт):
Автор решения: Yaroslav Molchan
→ Ссылка
Ошибка была в размещении цикла, цикл нужно было поместить внутрь обработчика клика, а не обработчик вешать в цикле, поэтому только последний и отрабатывал. Тем более чтобы проверить ключ в объекте, не обязательно прогонять его в цикле есть вариант проще:
let a4 = {
3: 'hello',
'one': 'hi',
'testt': 'vodoley',
'ivan': 'ivanov'
};
let x = document.querySelector(".keys")
let y = document.querySelector(".btn")
y.onclick = () => {
console.log(x.value in a4);
}
<input type="text" class="keys"></input>
<button class="btn">Check!</button>