can3p (can3p) wrote,
can3p
can3p

Задача

Задача: на входе есть массив, надо его "склеить" запятыми.
Пример: ["1","2","3","4","5"] => "1,2,3,4,5"

Не знаю, как эту задачу решают мастера cs, но мне приходит в голову не очень много хороших вариантов.
Язык Javascript, ибо на нем можно программировать действительно везде.


var arr = ["1","2","3","4","5"];
var str = "";

//можно с дополнительным условием
for(var i=0; i< arr.length; ++i)
{
   str += arr[i];
   if(i+1 < arr.length)
      str += ",";
}

//можно с дополнительной переменной
var z = "";
for(var i=0; i< arr.length; ++i)
{
   str += z + arr[i];
   z = ",";
}


/* можно ли без них? */

//массив должен быть непуст
str = arr[0];
for(var i=1; i< arr.length; ++i)
{
   str += "," + arr[i];
}

//почти классно
for(var i=0; i< arr.length - 1; ++i)
{
   str += arr[i] + ",";
}
str += arr[i];

//можно ли сделать все невыходя за рамки цикла?

//получай!
for(i=0; str += arr[i], ++i < arr.length; str += ",");




Лучше всего придумалось так (слава ecmascript.org!):
var arr = ["1","2","3","4","5"];
var str = "";

for(i=0; str += arr[i], ++i < arr.length; str += ",");


есть вариант короче?
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 4 comments