Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите цикл сделать красивее. (https://javascript.ru/forum/dom-window/77314-pomogite-cikl-sdelat-krasivee.html)

dima85 17.04.2019 21:06

Помогите цикл сделать красивее.
 
function test(view, json) {
 var add = '';
 for (var y in view) {
  if (y == 0 && view[y] == 1){ add+=' <label class="label label-danger">'+json.Sun+'</label> '; }
  if (y == 1 && view[y] == 1){ add+=' <label class="label label-info">'+json.Mon+'</label> '; }
  if (y == 2 && view[y] == 1){ add+=' <label class="label label-info">'+json.Tue+'</label> '; }
***
 }
 return add;
}


В цикле в каждой строчке у нас почти одинаковых html код. Может его можно поместить в какую-то переменную, как-то так:
temp = '<label class="label label-'+label+'">'+day+'</label>';

И потом вставлять меняемые элементы. Подскажите как правильно это сделать.

ksa 18.04.2019 08:11

Цитата:

Сообщение от dima85
Может его можно поместить в какую-то переменную

Скорее массив или объект...

function test(view, json) {
	var add = '';
	var prp=['Sun','Mon','Tue'];
	for (var y in view) {
		if (view[y] == 1){ add+=' <label class="label label-danger">'+json.[prp[y]]+'</label> '; }
	};
	return add;
};

ksa 18.04.2019 08:14

Цитата:

Сообщение от dima85 (Сообщение 506654)
function test(view, json) {
 var add = '';
 for (var y in view) {
  if (y == 0 && view[y] == 1){ add+=' <label class="label label-danger">'+json.Sun+'</label> '; }
  if (y == 1 && view[y] == 1){ add+=' <label class="label label-info">'+json.Mon+'</label> '; }
  if (y == 2 && view[y] == 1){ add+=' <label class="label label-info">'+json.Tue+'</label> '; }
***
 }
 return add;
}

Вообще такая конструкция избыточна... :nono:
Писал бы так челе...

function test(view, json) {
	var add = '';
	for (var y in view) {
		if (view[y] == 1) {
			if (y == 0){ add+=' <label class="label label-danger">'+json.Sun+'</label> '; }
			if (y == 1){ add+=' <label class="label label-info">'+json.Mon+'</label> '; }
			if (y == 2){ add+=' <label class="label label-info">'+json.Tue+'</label> '; }
		};
	};
	return add;
};


Часовой пояс GMT +3, время: 16:29.