2013-12-20 5 views
1

У меня есть цикл, который печатает содержимое массива с пробелом между каждым элементом, за исключением после последнего элемента, и в этом случае требуется только новая строка.Есть ли более элегантный способ написать этот цикл?

Однако моя реализация кажется мне «грубой», и я уверен, что есть более элегантный способ написать это, надеюсь, используя какой-то удобный javascript трюк, ранее неизвестный мне.

Вот мой цикл:

   for(var k=0; k<cycle1.length; k++){ 
        process.stdout.write(cycle1[k]); 
        if(k<cycle1.length-1){ 
         process.stdout.write(' '); 
        }else{ 
         process.stdout.write('\n'); 
        } 
       } 

ответ

9

Предполагая CYCLE1 массив, используйте array.join

process.stdout.write(cycle1.join(" ") + "\n"); 

Это именно то, что вы хотите - принимает массив, и добавляет разделитель что вы передаете в качестве аргумента между каждым элементом.

+0

[ладонь ко лбу] конечно! – Trindaz

2

вы можете использовать присоединиться метод:

cycle1.join(' ') + '\n'; 
Смежные вопросы