Вывод списка по количеству переменных
Здравствуйте,
Как можно решить следующую задачу: В переменные попадает строка с информацией (если она есть), при этом необходимо вывести только первые 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, время: 22:48. |