unimat
@unimat
Украина. г. Киев

Правильно ли решена задача?

При нажатии b-19 выполняете функцию f19. Функция должна в out-19 вывести цвет ветки станции которую пользователь ввел в i-19. Пользователь может вводить текст как с большой, так и с маленькой буквы. Если ветка не найдена - выводите пустую строку.
// Пользователь ввел Lisova - вывод red, ввел Obolon - вывод blue.

let a19 = {<codepen src="https://codepen.io/orgeniuss/pen/gOrYOpR"/>

    "red": ['Akademmistechko', 'Nyvky', 'Universytet', 'Lisova'],
    "blue": ['Minska', 'Obolon', 'Pochaina', 'Holosiivska'],
    "green": ['Syrets', 'Zoloti Vorota', 'Klovska', 'Vidubichi']
}

function f19() {
    let out;
    let input19 = document.querySelector(".i-19").value;
    for(let key in a19) {
        if(key == input19.toLowerCase()) {

            document.querySelector(".out-19").style.background =  input19;
            document.querySelector(".out-19").style.height = "100px";
        } else {
            out = "";
        }
         
}



document.querySelector(".out-19").innerHTML = out;
  
}

document.querySelector('.b-19').onclick = f19;
  • Вопрос задан
  • 943 просмотра
Пригласить эксперта
Ответы на вопрос 2
@wertuda
let a19 = {
	"red": ['Akademmistechko', 'Nyvky', 'Universytet', 'Lisova'],
	"blue": ['Minska', 'Obolon', 'Pochaina', 'Holosiivska'],
	"green": ['Syrets', 'Zoloti Vorota', 'Klovska', 'Vidubichi']
}

function f19() {
	let i19 = document.querySelector('.i-19').value;
	let out19 = document.querySelector('.out-19');
	let out = '';
	
	for (let key in a19) {
		for (const item of a19[key]) {
			if (item.toLowerCase() == i19 || item == i19) {
				out += key;
			}
		}
	}

	out19.style.background = out;
	out19.style.height = "100px";

}

document.querySelector('.b-19').onclick = f19;
Ответ написан
@Alaska14
Тоже самое, что у предыдущего оратора, только через обычный цикл. Возможно так будет понятнее...
function f19() {
    let inp19 = document.querySelector('.i-19').value;
    let out19 = '';

    for (let key in a19) {
        for (let i = 0; i < a19[key].length; i++) {
            if (a19[key][i].toLowerCase() == inp19 || a19[key][i] == inp19) {
                out19 += key;
            }
            else {
                out19 += '';
            }
        }
    }

    document.querySelector('.out-19').innerHTML = out19;
}

document.querySelector('.b-19').onclick = f19;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы