私のようにpaizaでJavaScript入門編1・2をクリアしたにも関わらず
スキルチェック何も手が付かないんだけど…、と絶望した方の役に立てばと思い書きました。
あと自分の備忘録。
はじめに
どうも、3日前からJavaScriptに手を付け始めました初心者です。Qiita初投稿。
学習に使っているサービスは paiza です。
順調にJavaScript入門編1→2とクリアし、次は問題をやろう!と
プログラミング練習問題のページへ進みました。
1.絶望した
入門編はクリアしたのにDランクの問題すら全く手が付けられない…
という事態になりました。
ちなみに回答しようとしたのは掛け算です。
なぜ?
Paizaはnode.jsが予め仕込まれているため、標準入力については入門編で触れられておらず、下のように突然の標準入力が現れたことで
「えっ!何これ!?聞いてない!どこに入力して良いかもわかんない!!!」
Qiitaやteratailを見て回りましたが、そもそも過ぎて適切な回答が見当たらない…と絶望しました。
2.どうやって理解したのか
**「これはもう別サービスで触れているのが無いか入門編漁りをしよう!」**と
progate と CODEPREP も始めてみました。
progateは「varじゃなくてlet!?paizaと違うこと言ってる!」となっただけで標準入力の記載はなし。
答え(?)は…CODEPREPにありました!!!
javascript入門 基本操作編
②JavaScriptの「型」を学ぼう - 5 配列(Array)
を読んだら突然開眼しました!
左側にあるヒント欄に
配列を表現するには [] を宣言します。
var array = [];
配列にデータを追加するにはpush関数を利用します。
array.push('Welcome to CODEPREP');
配列からデータを取得するには、配列の中で取り出したいデータのインデックス(格納している場所を表す数値)を指定してデータを取り出します。
インデックスの指定には[]を利用して、中にインデックスを指定します。
インデックスは0番目から始まるため、1番目の値を取得するためには、次のように記述します。
array[0];
ということはさっきの
の15行目を変更すればいいのでは!?となり、下記のように入力しました。
console.log(lines[0] * lines[1]);
入力される値が
a
b
と改行区切りで与えられていたので
lines[0] で 配列の1番目となる a が、
lines[1] で 2番目となる b が引っ張ってこれるということでは?
ということで
できたーーー!!
そして早速次の足し算やってみよう!と開いたら改行区切りじゃなくてスペース区切りということで line[ ] 内をどう指定したらいいか分からなくなって即詰みました…。
引き続き…頑張ります…。
あと個人的な感想としてはCODEPREPは何も知らない状態で始めるにはハードル高すぎでは?とも思いました。