Я понимаю что вывод не правильный чего
Добавьте input .i-9. При нажатии b-9 выполняете функцию f9. Функция должна вывести в out-9 все ключи массива a9, которые содержат значение, равное значению в input.i-9. Вывод через пробел. Если значений - нет то выводить пустую строку.
let a9 = {
"b": 17,
"e": 22,
"j": 17,
"k": 22,
"d": 54
};
function f9() {
let inputKey = document.querySelector('.i-9').value;
const output = document.querySelector('.out-9');
for (let key in a9) {
console.log(a9[key]);
if (a9[key] == inputKey) {
output.innerHTML += key;
console.log(key);
} else {
output.innerHTML = '';
}
}
}
document.querySelector('.b-9').onclick = f9;
<div class="form-control">
Input i-9 <input type="text" class="i-9" />
</div>
<button class="button-primary b-9">Task-9</button>
<div class="out-9"></div>
Ответы (2 шт):
Автор решения: De.Minov
→ Ссылка
Подробнее в комментариях к коду
let a9 = {"b": 17, "e": 22, "j": 17, "k": 22, "d": 54};
function f9() {
const value = document.querySelector('input.i-9').value,
out = document.querySelector('.out-9');
if(value.length !== 0) { // Если value не пустой
let keys = []; // Тут будем собирать совпадения ключей
for(let key in a9) { // Проходим циклом по a9, получая ключ в ппеременную key
if(a9[key] == value) keys.push(key); // Если key равен value, то добавляем его в массив keys
}
if(keys.length > 0) // Если массив keys не пустой
out.innerHTML = keys.join(' '); // то выводим в out при помощи .join(), через пробел
else
out.innerHTML = 'Нет совпадений' // Иначе пишем в out, что совпадений нет
} else out.innerHTML = 'Введите значение в инпут'
}
document.querySelector('.b-9').onclick = f9;
<div class="form-control">
Input i-9 <input type="text" class="i-9" />
</div>
<button class="button-primary b-9">Task-9</button>
<div class="out-9"></div>
Автор решения: kostik-rak
→ Ссылка
Более компактно, заводим сразу пустую строку и складываем в нее ключи проходя цикл for..in, а в конце добавляем эту строку, если совпадений не было то строка по умолчанию пустая
let a9 = {
b: 17,
e: 22,
j: 17,
k: 22,
d: 54,
};
function f9() {
let value = document.querySelector('.i-9').value;
let out = document.querySelector('.out-9');
let str = '';
for (let key in a9) {
if (a9[key] == value) str += key + ' ';
}
out.innerHTML = str;
}
document.querySelector('.b-9').onclick = f9;
<div class="form-control">Input i-9 <input type="text" class="i-9"></div>
<button class="button-primary b-9">Task-9</button>
<div class="out-9"></div>