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 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments