半角スペース区切りの入力

標準入力メニュー【1 つの入力・半角スペース区切りの1000個の入力 ほか】

【STEP: 1】コード

reader.on('close', () => {
   const s = lines[0];
   console.log(s);
});
hogeちゃんの画像

入力を s で受け取って 出力。

【STEP: 2】コード(1)

reader.on('close', () => {
   const [s_1, s_2] = lines[0].split(' ');
   console.log(s_1 + '\n' + s_2);
});
hogeちゃんの画像

先ず split(' ')で文字列を半角スペース区切りの配列に変換した値を s_1, s_2で受け取ってから 改行文字を + で連結して出力しました。

【STEP: 2】コード(2)

reader.on('close', () => {
   const S = lines[0].split(' '); 
// ここから…forEach() で出力
   S.forEach(s => {
      console.log(s);
   });
// ここから…for文 で出力
   for (let i = 0; i < 2; i++) {
      console.log(S[i]);
   }
});
hogeちゃんの画像

split(‘ ‘)で文字列を半角スペース区切りの配列に変換し、S で受け取り、各値を forEach() で出力。for文でも OK 。

【STEP: 3】コード (1)

reader.on('close', () => {
   const [s_1, s_2, s_3] = lines[0].split(' ');
   console.log(s_1 + '\n' + s_2 + '\n' + s_3);
});
hogeちゃんの画像

3 つの単語に区切るので、s_1, s_2, s_3  で値を受け取って 改行文字(‘\n’)を連結して出力しました。

【STEP: 3】コード (2)

reader.on('close', () => {
   const S = lines[0].split(' ');
// ここから…forEach() で出力
   S.forEach(s => {
       console.log(s);
   });
// ここから…for文 で出力
   for (let i = 0; i < 3; i++) {
      console.log(S[i]);
   }
});
hogeちゃんの画像

カウント変数 i の値の上限値が 3 未満になりました。それ以外はSTEP: 2 と同じです。

【STEP: 4】コード (1)

reader.on('close', () => {
   console.log(lines[0].replace(/ /g, '\n'));
});
hogeちゃんの画像
正規表現で半角スペースに g フラグを付けて、全ての半角スペースを'\n'に変換して出力すれば OK 。

【STEP: 4】コード (2)

reader.on('close', () => {
   const S = lines[0].split(' ');
  // ここから…forEach() で出力
   S.forEach(s => {
      console.log(s);
   });
  // ここから…for文 で出力
   for (let i = 0; i < 10; i++) {
      console.log(S[i]);
   }
});
hogeちゃんの画像
カウント変数 i の値の範囲が 0 〜 10 未満に変化。

【FINAL】コード (1)

reader.on('close', () => {
   console.log(lines[0].replace(/ /g, '\n'));
});
hogeちゃんの画像

10 行が 1000 行に増えても、コードは同じでした。

【FINAL】コード (2)

reader.on('close', () => {
   const S = lines[0].split(' ');
   // ここから…forEach() で出力
   S.forEach(s => {
      console.log(s);
   });
   // ここから…for文 で出力
   for (let i = 0; i < 1000; i++) {
      console.log(S[i]);
   }
});
hogeちゃんの画像

 i の値の範囲が 0 〜 1000 未満に変わりました。

コメント