У меня есть объект мотоцикл, в нем 7 мотоциклов и у каждого свои хар-ки.
var moto = {
motorcycle1: {
color: "Черный",
model: "Suzuki",
MaxSpeed: 120
},
motorcycle2: {
color: "Красный",
model: "Honda",
MaxSpeed: 125
},
motorcycle3: {
color: "Белый",
model: "BMW",
MaxSpeed: 105
},
motorcycle4: {
color: "Красный",
model: "Ducati",
MaxSpeed: 130
},
motorcycle5: {
color: "Белый",
model: "Kawasaki",
MaxSpeed: 150
},
motorcycle6: {
color: "Зеленый",
model: "Урал",
MaxSpeed: 90
},
motorcycle7: {
color: "Черный",
model: "Yamaha",
MaxSpeed: 160
}
};
Мне надо запросить цвет и скорость мотоцикла и вывести те мотоциклы, в которых совпадают условия, а именно цвет и скорость большей или равной, которую я ввёл.
Я сделал вот так, все работает, но мне не нравится такой подход. А как еще осуществить, додуматься не могу. Как можно сделать лучше?
var colorMoto = prompt("Введите цвет мотоцикла");
var speed = +prompt("Введите максимальную скорость");
for (var key1 in moto)
for (var key2 in moto [key1]){
if ((moto [key1][key2]) == 160 && colorMoto == "Черный" && speed <= 160 ){
document.write (key1 + "<br>");
}
else if ((moto [key1][key2]) == 120 && colorMoto == "Черный" && speed <= 120 ){
document.write (key1 + "<br>");
}
else if ((moto [key1][key2]) == 90 && colorMoto == "Зеленый" && speed <= 90){
document.write (key1 + "<br>");
}
else if ((moto [key1][key2]) == 125 && colorMoto == "Красный" && speed <= 125){
document.write (key1 + "<br>");
}
else if ((moto [key1][key2]) == 130 && colorMoto == "Красный" && speed <= 130){
document.write (key1 + "<br>");
}
else if ((moto [key1][key2]) == 150 && colorMoto == "Белый" && speed <= 150){
document.write (key1 + "<br>");
}
else if ((moto [key1][key2]) == 105 && colorMoto == "Белый" && speed <= 105){
document.write (key1 + "<br>");
}
}