Вывод списка по количеству переменных
Здравствуйте,
Как можно решить следующую задачу: В переменные попадает строка с информацией (если она есть), при этом необходимо вывести только первые 5 строки (может быть только 1 строка с информацией, остальные пустые), остальные (если строк оказалось > 5 ) записать в переменную и например вывести в другом месте. |
utb, тут бэ, кагбэ по-русски это прочитать...
![]() |
ksa,
:victory: |
:)
Сейчас попробую: есть характеристики товара: вес, стоимость и т.д. У разных товаров разное количество заполненных характеристик. Мне надо вывести только первые 5 характеристик в блок, остальные в другой блок. Понятнее стало? :) var a = "12кг"; var b = "10 мин"; var c = null; var d = "бла бла"; var e = "бла бла 1"; var j = "бла бла 1"; /* добавляем разные плюшки к переменным, приводим в читабельный вид и т.д.*/ var str1 = a + b + d // надо вывести только существующие первые 3 var str2 = e+j; // остальные в др переменную addToHTml(id,str); // функция вставляет в html addToHTml(id2,str2); // функция вставляет в html |
utb,
забейте все данные в массив разрешьте по индексу 3 на два массива -- в каждом уберите ячейки без данных и выведите в нужное место. |
utb,
или так
var a = "12кг";
var b = "10 мин";
var c = null;
var d = "бла бла";
var e = "бла бла 1";
var j = "бла бла 1";
function sort()
{ var str1 = '',str2 = '';
for (var i=0; i< arguments.length; i++) {
i < 3 && arguments[i] && (str1 += arguments[i]);
i >= 3 && arguments[i] && (str2 += arguments[i]);
}
return [str1,str2]
}
alert(sort(a, b, c, d, e, j).join('\n'))
|
Цитата:
|
рони,
спасибо, но получается немного не то, если вывести только str1, то выведет "12кг10 мин", а должно выводить первые три существующие свойства, т.е. пустые свойства надо пропускать. В цикле использовать условия? или лучше проверку всех аргументов сделать ? з.ы. можно так, как вариант?
var a = "12кг";
var b = "10 мин";
var c = null;
var c1 = "";
var d = "бла бла";
var e = "бла бла 1";
var j = "бла бла 1";
function sort()
{ var str1 = '',str2 = '';
var num = 3;
for (var i=0; i< arguments.length; i++) {
if(arguments[i]) {
i < num && arguments[i] && (str1 += arguments[i]);
i >= num && arguments[i] && (str2 += arguments[i]);
} else {
num++;
}
}
return str1;
}
var test = sort(a, b, c, c1, d, e, j);
alert(test);
з.ы.ы. а как сделать запускающийся код? :) |
Цитата:
Цитата:
[JS run][/JS] Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
utb,
var a = "12кг";
var b = "10 мин";
var c = null;
var c1 = "";
var d = "бла бла";
var e = "бла бла 1";
var j = "бла бла 1";
function sort()
{ var str1 = '',str2 = '';
var num = 0;
for (var i=0; i< arguments.length; i++) {
if(arguments[i]) {
num < 3 && (str1 += arguments[i]);
num >= 3 && (str2 += arguments[i]);
num++;
}
}
return [str1,str2];
}
var test = sort(a, b, c, c1, d, e, j);
alert(test[0]);
|
| Часовой пояс GMT +3, время: 16:09. |