コードの学習パート III: 配列と論理ステートメント


あなたは変数の基本をマスターし、コースの半分まで進みましたが、配列と論理ステートメントへの挑戦はできていますか?もちろんそうです。始めましょう!

これらのレッスンは、上でご覧いただけるビデオと併用するのが最も効果的ですが、以下では参考用のテキストも提供しています。読みたい場合でも、ビデオの方がより明確で、ここで説明するすべての方法を説明しています。テキストが少し複雑すぎると思われる場合は、必ずビデオをご覧ください。

ここからが少し複雑になります。これから何が起こるかについて恐れる必要はありませんが、今日はより複雑でありながら非常に役立つ内容について説明するので、フラストレーションがたまるかもしれないことを知っておいてください。これは初心者レッスンの中で最も難しい (そして最も長い) 部分になるでしょうが、あなたにはそれができます。前の 2 つのレッスンよりも少しだけ巻き戻して練習する必要があるかもしれません。

まず、配列について学びます。その後、if ステートメントと for ループ、およびそれらのツールを配列で使用する方法を見ていきます。

配列


配列は変数の一種ですが、むしろ多数のセクションを含む箱に似ています。これまでに説明した単純な変数とは異なり、配列には複数のデータを含めることができます。配列を定義する方法を見て、それが何を意味するかについて説明します。

var myArray = new Array("Lisa", "George", "Adam", "Paloma", "Jeffrey");

という配列を作成しましたmyArrayそこには5人の名前が含まれています。それぞれはカンマで区切られ、それぞれの名前は文字列であるため引用符で囲まれています (文字列が何であるかを忘れた場合は、「文字列」を参照してください)レッスン 1)。ご想像のとおり、配列は、簡単にアクセスできるように、類似したデータを 1 つの変数内に多数格納するのに非常に便利です。ミニデータベースのようなものです。配列内の項目にアクセスする場合は、番号を使用してアクセスします。

myArray[0]

メソッドとは何ですか?

メソッドは関数に似ていますが、変数の型に関連付けられる点が異なります。だから、それをただ公に叫ぶのではなく、alert()、変数と一緒にメソッドを呼び出します。たとえば、Array.join() は、.join() が追加された配列を取得し、それを単一の文字列に変換します。ただし、関数やメソッドについてはあまり心配する必要はありません。それについては明日説明します。

Lisa が配列内の最初の名前であるため、上記は Lisa に解決されます。 0 を 1 に変更すると、Adam に解決されます。現在配列内の項目数 (12 など) を超える数値を入力した場合、何も取得されません。

これが基本的に配列の仕組みです。あまり厳しくないですよね?配列を使ってできることは他にもたくさんあります (並べ替え、結合、検索など) が、ここではそのすべてについては説明しません。少し飛ばして JavaScript の配列メソッドを見てみたい場合は、これをチェックしてください。ただし、今のところ、本当に必要な情報はこれだけです。

For ループ


forループは今日私たちが扱う最も複雑なものになるでしょう、そして私たちはそれをifステートメントを使用するので、ifステートメントを使用して動作を変更します。それで、とは何ですかfor正確にループしますか?基本的には、forループはコードのチャンクを指定された回数実行し、その回数をカウントします。あなたが数値変数であると想像してください。i。 (これはあなた自身の場合と同じように I を表すふりをすることができますが、実際にはイテレータを表します。)i、あなたは 1 マイルを走る必要があり、あなたは 400 分の 1 マイルのトラックのスタートラインに立っています。 1 マイルを完了するには、トラックを 4 周走らなければならないことになります。として表されますforステートメントは次のようになります。

for (i=0; i<4; i++){        run();}

これを詳しく見てみましょう。あなたが言うときforを宣言していることをコンピュータに伝えています。for声明。それは理にかなっているはずです。それは言っていることとほぼ同じですvar変数を宣言する前に。それは簡単です。複雑な部分は括弧内で発生します。各部分を個別に見てみましょう。

i=0

使用するときはi iが進むべき道です。の中で宣言しているからです。forループに保存すると、後で別のループで再利用できます。この変数はローカルです。forループし、その外部のものと競合しません。ここで行っているのは、0 に設定することです。0 から始める必要はありませんが、この例では (そして実質的には他のあらゆる状況どこで使用しますかforループ)それは理にかなっています。まだ何周も走っていないのでゼロからのスタートです。

forループは、停止するように指示されるまで、大量のコードを実行するように設計されています。この中間部分は、for ループに実行時間を指示します。私たちは 1 マイル (4 周) だけを走りたいので、for変数が続く限りループしますiは 4 未満です。そのまま続行してください。 2 マイルを走りたい場合は、次のように変更できます。i.

i++

最後の条件は非常に単純です: 増加iこのループが完了するたびに 1 ずつ増加します。コード内の他の場所でも、++ または — を使用して数値を (それぞれ) 1 ずつ増減できますが、おそらく最もよく使用されるのは次の場合です。forループします。次の場合に for ループの実行を停止するように指示しているため、この部分は非常に重要です。i i0から始まるのでインクリメントする必要がありますiループが実行されるたびに 1 つずつ増加し、そうでない場合は永久に実行されます。

中括弧の内側

現在、中括弧 {} には run() が含まれていますが、この例ではこれは実際の関数ではありません。基本的に、実行したいコードは中括弧内に記述します。実行したい特定のコードを区切るところにあります。

もう一度お願いします!

さて、これはちょっと複雑なので、もう一度見てみましょう(少なくとも、私にとっては初めて学びました)。

  • forを定義していることをコンピュータに伝えます。forループ。

  • i=0という変数を設定しますi0 に等しく、これが開始点です。

  • i tells the for loop to stop once i is no longer less than the number 4.

  • i++と言うforインクリメントするループi指定されたコードの実行が終了するたびに 1 ずつ加算されます。

  • 指定されたすべてのコードは、for実行されるループは中括弧内に配置する必要があります。

使ってみよう

さて、それでは作ってみましょうfor配列をループし、配列内の各名前を警告するループ。そのコードは次のようになります。

for (i=0; i<5; i++){        alert(myArray[i]);}

この実際の例は、1 つの点を除いて、先ほど分析した偽の例と非常によく似ています。myArray[i]。先ほど、配列の内容に数値でアクセスする方法について説明しました。myArray[0]~とは違うものを私たちに与えてくれるだろうmyArray[1]。なぜならiとして変化する数値です。forループが実行されるたびに、ループは配列内の異なるポイントにアクセスします。これにより、コードを 5 回書き出す手間が省けます。

わかりましたが、配列の長さがわからない場合はどうすればよいでしょうか?現時点では 5 つの要素があることがわかっていますが、変更を加えると、ループを必要以上に実行するか、十分に実行しなくなるかのどちらかになります。私たちがやりたいのは、for配列全体にアクセスするまでループします。それには少し変更する必要があります。

for (i=0; i<myArray.length; i++){        alert(myArray[i]);}

作業を容易にするために、JavaScript (および配列を使用するほとんどの言語) には、作成するすべての配列にプロパティが組み込まれています。 (実際には、さまざまなプロパティがたくさんありますが、ここではこれのみを見ていきます)。このプロパティは、length, 配列内の項目の数がわかります。だから、言う代わりにi we'll just say iand the for loop will run until it's run out of items in the array.

あなたはそこまで生き残れましたか?知っている場合は、主にそれについて知っておく必要がありますforループします。上のビデオには他にもいくつかの例があるので、それらを使ってできることをいくつか確認したい場合は、必ずチェックしてください。

If ステートメント


If ステートメントは、おそらく最も理解しやすいタイプの論理ステートメントです。それらは強力でもあるので、中毒になりやすいかもしれません。初心者のプログラマは、if ステートメントが十分にあれば何でもできるように思えるため、if ステートメントにしがみつく傾向があります。途中で正気を失うことを気にしないのであれば、それは真実です。 if ステートメントを操作するかなり複雑なコードを書くこともできますが、大量の if ステートメントが必要になり、気が狂いそうになります。したがって、おそらく気に入るはずですが、使いすぎないでください。 if が多すぎると、効率的で優れたコードが作成されません。

では、if ステートメントとは何でしょうか?これは基本的に、指定された条件が true の場合にこのコード ブロックを実行するというステートメントです。また、最初の条件が満たされない場合は、代わりにこれを行うように指示することもできます。最初の条件が失敗した場合は、別の条件が満たされているかどうかを確認することもできます。たとえば、犬の色が青い場合に犬を洗​​いたい場合、if ステートメントを使用して、犬が青色であることが判明したかどうかを調べて洗うことができます。これがコードとしてどのように見えるかは次のとおりです。

if (myDog == "blue"){        washDog();}

以前にも見たように、ifif ステートメントを宣言していることをコンピューターに伝えます。括弧内で条件を定義します。 myDog という変数があることがわかります。これにはおそらく、文字列として表される犬の色という単純な情報が含まれています。それは「赤」、「緑」、「青」の可能性がありますが、まだわかりません。それを確認するために、myDog が「青」に等しいかどうかを尋ねて、それが実際に青であるかどうかを調べます。等しいかどうかをテストするには、== を使用します。単一の = を使用すると、変数の値を設定することになります。 2 つの == を使用すると、ある変数が別の変数と等しいか、あるいはある種のデータと単に等しいかどうかをテストすることになります。犬が青色であることが判明した場合 (条件が満たされ、myDog が「青色」に等しい場合を意味します)、if ステートメントにより中括弧 {} 内のコードの実行が許可されます。この例では、中括弧内のコードは次のとおりです。washDog();。 washDog() は実際の関数ではありませんが (いずれにせよ、まだ)、もしそうであれば、おそらく実行されて犬の青さを洗い流すことになるでしょう。

では、これをコードにどのように適用できるでしょうか?ビデオではより複雑な例を説明していますが、ここでは誰かの名前をテストするだけです。私の名前 (Adam) を配列に含めて、アラートを受け取りたいとします。私の名前が出てきた場合のみ。 for ループと if ステートメントを組み合わせて、それを行うことができます。

for (i=0; i<myArray.length; i++){        if (myArray[i] == "Adam")        {                alert("I found " + myArray[i] + " in the array!");        }}

基本的に、for ループ内に if ステートメントを配置しただけです。if ステートメントは、myDog のような単純な変数が「blue」に等しいかどうかを尋ねるのではなく、配列内のいずれかの位置が Adam と等しいかどうかを尋ねています。 。

全部わかりましたか?良い!このレッスンを乗り越えれば、次のレッスンはスムーズに進むでしょう。準備ができたら、レッスン 4 に進みますここでは関数と簡単な推測ゲームの作成について学びます。