У меня есть массив JavaScript:массив более чем одной строки
cities = ["LA", "NYC", "Riyadh", "Frankfurt"]
cities.toString()
функция даст мне
"LA, NYC, Riyadh, Frankfurt"
Как получить
"LA", "NYC", "Riyadh", "Frankfurt"
У меня есть массив JavaScript:массив более чем одной строки
cities = ["LA", "NYC", "Riyadh", "Frankfurt"]
cities.toString()
функция даст мне
"LA, NYC, Riyadh, Frankfurt"
Как получить
"LA", "NYC", "Riyadh", "Frankfurt"
Самый простой способ я может думать о том, чтобы использовать JSON.stringify
и отбрасывать первый и последний символы с slice
, вот так
var cities = ["LA", "NYC", "Riyadh", "Frankfurt"]
console.log(JSON.stringify(cities).slice(1, -1));
// "LA","NYC","Riyadh","Frankfurt"
Если вы хотите, точно так же как вы упомянули в своем ответе, используйте map
функцию для создания новых строк в двойных кавычках и, наконец, присоединиться к ним с ,
как это
console.log(cities.map(function (currentCity) {
return '"' + currentCity + '"';
}).join(', '));
// "LA", "NYC", "Riyadh", "Frankfurt"
Если ваши фактические строки не будет иметь никакого ,
в них, то вы можете приковать split
и join
звонки, как этот
console.log(JSON.stringify(cities).slice(1, -1).split(",").join(", "));
// "LA", "NYC", "Riyadh", "Frankfurt"
Вы можете использовать функцию join массива, чтобы присоединиться к элементам массива, используя любой разделитель, как:
var result = '"' + cities.join('", "') + '"' ;
Проверьте рабочий demo fiddle
Если вы хотите изменить массив в строку, есть array.join
. Он хорошо работает с любым разделителем, который вы хотите использовать:
var array = ["LA", "NYC", "Riyadh", "Frankfurt"];
var string = '"' + array.join('", "') + '"';
// Result: "LA", "NYC", "Riyadh", "Frankfurt"
В каком типе данных вы бы сохранили более одной строки? – Alexander