Дополнительно
Простой способ превратить массив JavaScript в список, разделенный запятыми?
У меня есть одномерный массив строк в JavaScript, который я хотел бы превратить в список, разделенный запятыми. Есть ли простой способ в обычном JavaScript (или jQuery) превратить этот массив в список, разделенный запятыми? (Я знаю, как выполнить итерацию по массиву и создать строку самостоятельно путем конкатенации, если это единственный способ).
378
17
Метод Array.prototype.join():
На самом деле, реализация
toString()
по умолчанию выполняет объединение с запятыми:Я не знаю, предписано ли это спецификацией JS, но так делают
большинствопрактически все браузеры.Или (более эффективно):
Метод toString массива при вызове возвращает именно то, что вам нужно - список, разделенный запятыми.
Здесь'с реализацией, которая преобразует двумерный массив или массив столбцов в правильно сбежал запятыми строка. Функции не проверяют на допустимую строку/число входных или столбец отсчетов (убедитесь, что Ваш массив является действительным для начала). Ячейки могут содержать запятые и кавычки!
Здесь'ы скрипт для декодирования строк CSV.
Здесь's мой [скрипт для кодирования строк CSV][2]:
Я думаю, что это должно сделать это:
[скрипка](http://jsfiddle.net/mnbayazit/G9mYj/4/)
В основном все это делает, это проверить, если строка содержит запятую или кавычки. Если это так, то это удваивает все цитаты, и выставляет котировки на концах. Затем он присоединяется к каждой из частей с запятой.
Есть много методов, чтобы преобразовать массив в список, разделенный запятыми.
1. Используя массив присоединяйтесь
От МДН
Код
Фрагмент
в
в
2. Используя массив#метод toString
От MDN
Код
Фрагмент
в
в
3. Добавить []+ до массива или +[] после выбора
В []+ или +[] преобразует его в строку
Доказательство
будет выводить true
в
в
Фрагмент
в
в
Также
в
в
Используйте встроенный в массив.метод toString метод
MDN на Array.toString()
Если вам нужно использовать " и " вместо " и " Ну между последним двум пунктам можно сделать так:
Обычно я нуждающихся то, что пропускает значение, если значение "null" или "неопределенным", и т. д.
Так вот решение, которое работает для меня:
Большинство решений здесь вернется' яблока'` Если мой массив будет выглядеть так, как в моем втором примере. Что's, почему я предпочитаю это решение.
Вы действительно хотите покончить с собой "и"?
Для этой ситуации, я создал НПМ модуль.
Попробуйте arrford:
<БР>
Использование ##
<БР>
Установить
<БР>
Подробнее
https://github.com/dawsonbotsford/arrford
<БР>
Попробуйте сами
Тоник ссылке
Начальный код:
Первоначальный ответ с помощью функции объединения является идеальным. Одна вещь, чтобы рассмотреть будет конечное использование строку.
Для использования в некоторых конец текстового дисплея:
Для использования в URL-адресе для передачи нескольких значений в один (несколько) спокойной манере:
Конечно, все зависит от конечного использования. Просто сохранить источник данных и использовать в виду, и все будет в порядке.
Мне понравилось решение по [https://jsfiddle.net/rwone/qJUh2/][1], потому что он добавляет пробелы после запятых:
Или, как предложил @StackOverflaw в комментариях:
Папа разбора (на основе браузера) обрабатывает запятые в значениях и другие пограничные случаи. Используйте детские разбора для узла.
Например. (узел)
1,,"А,Б"и
Этот раствор также удаляет такие значения, как
" и "
в: `` константный результат = ['', значение null, 'фу', ' ', неопределено, 'бар'].фильтр(Эль => { возвращает логическое(Эл) && Эл.отделка() !== ''; }).присоединяйтесь(', ');консоль.отчет(результат); // => ФОО, бар ``
По состоянию на Хром 72, Это'ы можно использовать международный.ListFormat:
в
в
Обратите внимание, что этот способ находится в очень ранней стадии, так как с момента публикации этого ответа, ожидать несовместимости со старыми версиями Chrome и других браузерах.