Как проставить запятые между словами (алгоритм)

Статус
В этой теме нельзя размещать новые ответы.

drawing4

Профессор
Регистрация
21 Ноя 2008
Сообщения
323
Реакции
37
Такой вопрос. Пустяковый, но чего-то не могу додуматься.
Как проставить запятые между всеми словами кроме последнего. Количество слов неизвестно

Реализовываться будет на яваскрипте

проверяются значения чекбоксов, нужно сделать обход в цикле всех чекбоксов, и вывести значения для отмеченных в строку через запятую. Естественно количество отмеченных checkbox я не знаю.

Подскажите алгоритм пожалуйста, а то заблудился в трех соснах
 
если верно понял то....

1) проверяем текстовое поле или булевскую переменную
2) если пустое добавляем в него слово "слово" ( без запятой)
иначе добавляем ", слово" ( с запятой в начале )
 
если верно понял то....
1) проверяем текстовое поле или булевскую переменную
2) если пустое добавляем в него слово "слово" ( без запятой)
иначе добавляем ", слово" ( с запятой в начале )

А с первым элементом как быть? Дописывать его перед циклом? :) Но ведь я ж не знаю какой элемент первым будет. Т.е. какой чекбокс (первый или десятый например) будет в очереди первым.

P.S. Додумался до такой конструкции. Добавляем по принципу слово-запятая, после цикла определяем длину строки, и потом режем ее до длины length-1.
Правда может кто подскажет более изящный метод ;)
 
Думаю в ява есть регулярки. Могу рассказать как бы я это сделал на php.
Формируем строку с пробелами между словами:
а б в г д
Затем обрезаем пустоту сначала и с конца этого предложения trim()
а затем заменяем пробел на запятую (можно на запятую с пробелом) str_replace()
 
Загоняешь значения чекбоксов в массив и склеиваешь его через join.

Пример:
["a", "b", "c", "d"].join(', ');
 
Спасибо, изящное решение. Получше моего будет :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху