2016-08-24 2 views
-4

мне нужно преобразовать списки как [1, 3, 2] или [1,3] или [1,4,5] в строки вида '{1, 3, 2}', '{1, 3}''{1, 4, 5}'.Преобразовать список `[1, 2, 3]` в строку '{1, 2, 3}' в Javascript

Я могу придумать пару способов сделать это, но не изящный. Мне было интересно, как вы это решите. Возможно ли элегантное решение?

+4

'{' + Array.join ('') + '}' – RainingChain

+0

@RainingChain спасибо! – Kasper

ответ

1

Вы можете сделать это.

var result = '{'+ input[0]; 

for(var index = 1; index < input.length; index++) { 
    result = result + ' '+ input[index]; 
} 
result = result + '}'; 

или

var result = '{' + input.join(', ')+ '}'; 

помню, чтобы дать место после того, как ''.

+0

мой ошибка. это будет объединение –

1

Используйте .join() метод

например:

var arr = [1,3,2]; 

var str = arr.join(); 

надеюсь, что это помогает

+0

Метод '.join()' определенно подходит, но приведенный здесь код не дает желаемого формата вывода. – nnnnnn

+0

попробуйте сделать это, чтобы получить желаемый формат: '{' + arr.join() + '}' – SJPadikkoth

1
var arr = [1,3,2]; 
var str ="{" + arr + "}"; // let the cast to string do your work {1,3,2} 

// and if you really want spaces after your commas, add the below 
str = str.replace(/,/g, ", "); // {1, 3, 2} 
Смежные вопросы