Для обработки данных и выполнения с ними манипуляций может возникнуть потребность преобразования массива в строку. Например, когда необходимо отправить данные в строчном типе, из массива делается строка и только тогда отправляется. Либо нам просто нужно объединить все элементы массива единой строкой.

Рассмотрим различные подходы для преобразования массива в строку.

toString()

Метод toString() помогает преобразовывать различные типы данных в строку. Он выводит строку, содержащую все элементы массива, разделенные запятыми.

['a', 'b', 'c'].toString();  // 'a,b,c'
['text', 123, true].toString()  // 'text,123,true'

String()

Функция осуществляет явное преобразование в строку.

String(['a', 'b', 'c']);  // 'a,b,c'
String(['text', 123, true])  // 'text,123,true'

concat()

В JavaScript метод concat() в основном используется для объединения нескольких строк. Однако его также можно использовать для преобразования указанного массива в строку. Для этого нужно соединить элементы массива с пустой строкой.

''.concat(['a', 'b', 'c']);  // 'a,b,c'

Явное приведение

Подобно методу concat() массив можно преобразовать в строку путем обычного прибавления к нему пустой строки или пустого массива.

['a', 'b', 'c'] + [];  // 'a,b,c'
['text', 123, true] + '';  // 'text,123,true'

join()

Метод join() предлагает функциональность преобразования массива в строку. Элементы массива становятся строкой, однако теперь способ их объединения можно указать в качестве аргумента метода.

['a', 'b', 'c'].join();  // 'a,b,c' (по-умолчанию разделитель ',')
['и', 'в', 'а', 'н'].join('');  // 'иван'
['text', 123, true].join('-');  // 'text-123-true'

JSON.stringify()

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

JSON.stringify(['a', 'b', 'c']);  // '["a","b","c"]'
JSON.stringify([145, false, {a: 'text'}]);  // '[145,false,{"a":"text"}]'

forEach()

Если массив необходимо сохранить, но при этом получить строку из него, используем перебирающий метод forEach(). На этапе каждой итерации обновляем созданную строку.

let array = ['a', 'b', 'c'];
let string = '';
array.forEach(function(item, index) {
  string += item;
  if (index != (array.length - 1)) {
    string += ',';
  };
});
console.log(string);  // => 'a,b,c'