Forループからの出力を取得して、コンソールの1行に出力しようとしています。
for(var i = 1; i < 11; i += 1) {
console.log(i);
}
今のところ
1
2
3
4
5
6
7
8
9
10
出力をすべて1行で取得するにはどうすればよいですか(このように1 2 3 4 5 6 7 8 9 10
)?
文字列を作成し、ループ後にログに記録します。
var s = "";
for(var i = 1; i < 11; i += 1) {
s += i + " ";
}
console.log(s);
問題ありません。それらを1行に連結するだけです。
var result = '';
for(var i = 1; i < 11; i += 1) {
result = result + i;
}
console.log(result)
以上
console.log(Array.apply(null, {length: 10}).map(function(el, index){
return index;
}).join(' '));
続けて物事を学びましょう!幸運を!
Node.jsでは、次のコマンドも使用できます。
process.stdout.write()
これにより、スコープにフィラー変数を追加せずに、forループからすべての項目を出力できます。
// 1 to n
const n = 10;
// create new array with numbers 0 to n
// remove skip first element (0) using splice
// join all the numbers (separated by space)
const stringOfNumbers = [...Array(n+1).keys()].splice(1).join(' ');
// output the result
console.log(stringOfNumbers);
カウンターを1行で出力する別の方法が考えられます。console.log()は、指定せずに末尾の改行を挿入します。これは省略できません。
let str = '',i=1;
while(i<=10){
str += i+'';
i += 1;
}
console.log(str);