2015-03-31 7 views
2

У меня есть массив JavaScript:массив более чем одной строки

cities = ["LA", "NYC", "Riyadh", "Frankfurt"] 

cities.toString() функция даст мне

"LA, NYC, Riyadh, Frankfurt" 

Как получить

"LA", "NYC", "Riyadh", "Frankfurt" 
+1

В каком типе данных вы бы сохранили более одной строки? – Alexander

ответ

3

Самый простой способ я может думать о том, чтобы использовать 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" 
1

Вы можете использовать функцию join массива, чтобы присоединиться к элементам массива, используя любой разделитель, как:

var result = '"' + cities.join('", "') + '"' ; 

Проверьте рабочий demo fiddle

0

Если вы хотите изменить массив в строку, есть array.join. Он хорошо работает с любым разделителем, который вы хотите использовать:

var array = ["LA", "NYC", "Riyadh", "Frankfurt"]; 
var string = '"' + array.join('", "') + '"'; 
// Result: "LA", "NYC", "Riyadh", "Frankfurt" 
Смежные вопросы