Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2015, 22:56
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

Условие в цикле
Здравствуйте. У меня было довольно громоздкое условие. Вот его часть:

if (classactiv == 0.11111) {
  nameTOP.innerHTML = "Тут инфа 1";
  srcTOP.innerHTML = '<img src="ссылка" height="200px">';
  } else if (classactiv == 0.22222) {
  nameTOP.innerHTML = "Тут инфа 2";
  srcTOP.innerHTML = '<img src="ссылка" height="200px">';
  }

...

else {
nameTOP.innerHTML = "Тут другая инфа, если все вышеперечисленные условия оказывались неверными";
  srcTOP.innerHTML = '<img src="ссылка" height="200px">';
}


Такая запись занимала много места и я решил её немного сократить:

koefArr = [0.11111, 0.22222, 0.33333, 0.44444, 0.55555, 0.66666, 0.77777, 0.88888, 0.99999, 11111, 22222];
		nameclassArr = ["Й", "Ц", "У", "К", "Е", "Н", "Г", "Ф", "Ы", "В", "А"];
		srcclassArr = ["deamon", "warrior", "deamon", "warrior", "deamon", "warrior", "deamon", "warrior", "deamon", "warrior", "deamon", "warrior"]
		  
		  for (i = 0; i <= 12; i++) {
		  if (classactiv == koefArr[i]) {
  
  nameTOP.innerHTML = "Класс:" + nameclassArr[i];
  srcTOP.innerHTML = '<img src="мой сайт/' + srcclassArr[i] + '.png" height="200px">';
}
}


Но есть одна проблема: не могу сделать так, чтобы выводилась дополнительная информация, если все перечисленные условия оказались неверными. Можно ли это как-нибудь реализовать?
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2015, 23:11
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

сделайте объект и не будет проблемы
var data = {
    '0.11111': {
        info: '"Тут инфа 1",
        img: '<img src="ссылка" height="200px">'
    },

    '0.22222': {
        info: '"Тут инфа 2",
        img: '<img src="ссылка" height="400px">'
    }
};
var res;
if (data.hasOwnProperty(classactiv)) {
    res = data[classactiv];
} else {
    res = {
        info: 'default',
        img: '<img src="default.jpg" height="400px">'
    };
}

console.dir(res);

вариант

Последний раз редактировалось Vlasenko Fedor, 17.11.2015 в 23:16.
Ответить с цитированием
  #3 (permalink)  
Старый 17.11.2015, 23:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Ermite,
var x = -1;
for (i = 0; i <= 12; i++)
 if (classactiv == koefArr[i])  {x = i; break};
if (x > -1){
nameTOP.innerHTML = "Класс:" + nameclassArr[x];
srcTOP.innerHTML = '<img src="мой сайт/' + srcclassArr[x] + '.png" height="200px">';
}
else {}
Ответить с цитированием
  #4 (permalink)  
Старый 17.11.2015, 23:16
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

Но это не особо укоротит код..
Ответить с цитированием
  #5 (permalink)  
Старый 17.11.2015, 23:32
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

Сообщение от рони Посмотреть сообщение
Ermite,
var x = -1;
for (i = 0; i <= 12; i++)
 if (classactiv == koefArr[i])  {x = i; break};
if (x > -1){
nameTOP.innerHTML = "Класс:" + nameclassArr[x];
srcTOP.innerHTML = '<img src="мой сайт/' + srcclassArr[x] + '.png" height="200px">';
}
else {}
Тааак)) Надо немного разобраться
Ответить с цитированием
  #6 (permalink)  
Старый 17.11.2015, 23:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Ermite,
var a = "Тут другая инфа, если все вышеперечисленные условия оказывались неверными",
b = '<img src="ссылка" height="200px">';
for (i = 0; i <= 12; i++)
 if (classactiv == koefArr[i])  {
a = "Класс:" + nameclassArr[i];
b = '<img src="мой сайт/' + srcclassArr[i] + '.png" height="200px">';
 };

nameTOP.innerHTML = a;
srcTOP.innerHTML = b;
Ответить с цитированием
  #7 (permalink)  
Старый 18.11.2015, 00:01
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

Сообщение от рони Посмотреть сообщение
Ermite,
var a = "Тут другая инфа, если все вышеперечисленные условия оказывались неверными",
b = '<img src="ссылка" height="200px">';
for (i = 0; i <= 12; i++)
 if (classactiv == koefArr[i])  {
a = "Класс:" + nameclassArr[i];
b = '<img src="мой сайт/' + srcclassArr[i] + '.png" height="200px">';
 };

nameTOP.innerHTML = a;
srcTOP.innerHTML = b;
О, а это намного легче. Мог и сам бы догадаться..
Спасибо)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условие if помогите с условием skoch244 Общие вопросы Javascript 2 24.08.2015 13:38
Таймер до требуемой даты в цикле Drugpunker Events/DOM/Window 22 21.03.2014 08:52
Не выполняется условие if cooldanie Общие вопросы Javascript 12 17.01.2014 01:01
popup окно в PHP цикле ryobi522 Общие вопросы Javascript 5 10.02.2012 02:18
Условие типа для flv nemo Серверные языки и технологии 1 29.01.2010 17:52