そして、このビデオでは、この配列問題の解決策を最初から作成する方法を説明します。
だから私たちが最初に持っているのは、印刷の紹介者です。
だから始める前に。
私のファイルが正しく設定されると、私は既に老人のファイルを持っています。
私はその解決策をそのHMOと呼んでいます。
J Sと同じソリューションタグのソースをインクルードしてから、そのファイルを作成する必要があります。
では、その解決策を保存しましょう。
はい。
そしていつものように、私は議会で始めるが、ログはつながっている。
行こう。
これをブラウザで開きます。
コンソールを開き、接続されていることがわかります。
大丈夫。
ですから、逆の印刷から始めましょう。
したがって、逆の印字は機能です。
ですから、私は関数print reverseを定義することから始めます。これは単一の引数と配列をとります。
私はそれをr rと呼び、配列をループするだけです。
配列の終わりから先頭にループしたい場合を除いて、varの各項目を単に呼び出すだけです。
だから、foreachは理想的ではありません。
forループを使うつもりですが、これはリストをたどる順序で少し柔軟になります。
だから私はゼロから始まる代わりにvar私は配列の終わりにそれを開始するつもりです。
だからvarは配列がマイナス1を好きではないので、長さが常に最大のインデックスより1大きいので、マイナス1を加えなければなりません。
だから、少し離れている。
次に、我々は続けるつもりです。
私はゼロに等しい。
そして最後に、マイナスマイナスに行くつもりです。
だから私は始めるでしょう。
この配列3
6から5の印刷逆の場合、私はこのインデックスで3となるでしょう、私は5を印刷し、次にIを1から減算して印刷するならば、ログ配列を出力します。
Iの配列は2を与え、次に6を与え、次に3を、最後の時間は0に等しい。
だから私たちは3つを印刷し、それから終了です。
だから見てみましょう。
私はこのプリントをこの配列と呼んでいます。
ブラウザで実行すると、私たちが期待していた5から6と3を得ることができます。
5〜6および3。
次の問題に移りましょう。
したがって、次の問題は、配列を引数として再度取ってtrueを返すuniformです。
すべての要素がまったく同じ場合に限ります。
ですから、私はこのファイルがこれで終わりまでに完全なものになるので、これがユニフォームの始まりであるというメモを書き始めることから始めます。
だから私はそれを明確にしたい。
まず、関数が統一されていることを定義することから始めましょう。そして、それは単一の配列をとることになります。
だから私はこれを解決するつもりです、私は非常に最初の項目と等しい変数を作るつもりです。
ですから、この場合1で配列をループし、その最初のアイテムを他のすべてのアイテムと比較し、いずれのポイントでも同じでない場合は、falseを返して関数全体を終了します。
しかし、もしそれが終わったら、それはすべての商品が同じであることを意味します。
だから我々は真実を返すことができます。
最初の変数varを最初のアイテムと同じにすることから始めます。
それから私は配列をループするつもりです。
だから私はここでforループを使うつもりだし、私はこの後に説明するforeachを使っていない理由がある。
だから私はループを開始するつもりはない配列は私がプラス好きではないと私はちょうど配列の高さが最初に等しくないかどうかをチェックするつもりです。
つまり、配列が一様ではないということです。
だから私は偽に戻るでしょう。
そして、私の配列の最後で、私たちがループ全体を通してそれを作るなら、私は真実を返すことができます。
私は現在、最初のアイテム配列0を最初のアイテムと比較しています。
ループをはじめて。
私が0と言うことを始めると、行が最初に等しい行が消去されます。
だから私はそれをしたくない。
私はインデックス1で始めるつもりです。
それを試してみましょう。
私たちのページをリフレッシュすると、アレイの1 1 1の均一です。
それは本当だ。
しかし、どのように約1 2。
それは間違っており、2人が行きました。
それはまた間違っている。
OK。
だから私はそれぞれのためにaを使いたくないと言った。
その背後にある理由は、もし私がforeachコメントを書きましたが、forループの代わりにここではそれぞれの関数に赤い点をつけて、それを要素と呼びます。要素がFirstと等しくないかどうかをチェックします私は偽に戻るでしょう。
forループの代わりにforeachで追加した以外は全く同じロジックです。
私たちには問題があります。問題は、私がここでfalseを返すとき、これはここの最初の関数からのみ返ることです。
だから、それは私たちはこのレベルに私たちをもたらす最初の関数を終了し、それだけでtrueを返す次の行を実行する制服のすべてを終了しません。
だから、ここで取り組むべきことではなく、私はforループを使うつもりです。これははるかに単純ですが、問題の内容を理解してほしいからです。
だから、もう一度それを合計すると、私は1つの関数の代わりに戻ります。
それは1つのレイヤーだけを剥がすので、その正確な関数だけを返し、その内部の次の関数はまだ実行を終了します。
だから私はこの1つと一緒に来て、これを私たちの真の解決策として残しましょう。
次に、いくつかの配列があります。
だから、いくつかの配列は単一の配列をとり、その内部のすべての項目を合計します。
だから私はいくつかの配列から私のコメントを開始するつもりです、私はいくつかの配列を単一の配列を取る関数を宣言するつもりです。
この場合、合計を保持する変数を作成する必要があります。
そして、配列全体をループしてその合計に追加する必要があります。
だから、私は変数totalが0になることから始めます。
それから私はそれぞれのためにそれをやるつもりです。
したがって、それぞれの配列。
そして私はちょうど定期的なforループを行うことができ、私はこの要素を呼び出すつもりです、そして、私は毎回合計するために追加するつもりです。
したがって、合計は要素と等しくなります。
そして、最終的なリターンの合計とそれは私がしなければならないすべてです。
したがって、配列全体のゼロ・ループを開始し、すべての要素を取り出し、合計に追加して、最後に合計を返します。
それを試してみましょう。
配列上で何らかの配列を試してみましょう。
1 2 3と私は6を得る。
10 10と10の差は30です。
OKなので配列です。
最後の1つは、数値の配列でmax要素を決定することです。
だから私は最初に私のコメントを追加するつもりです。
私たちはここでMaxに取り掛かり、その関数を最初に定義します。
したがって、関数Maxは単一の配列を取ります。ここでのロジックは、最大値を追跡するための変数を持つことになります。そして、デフォルトで最初の要素として開始し、次にすべてをループします現在の最大値と比較します。
それが現在の最大値より大きければ、その要素は新しい最大値です。
そして最後にそれを返します。
だから、私はvar Maxを配列0にしてから、配列をループするつもりです。多分、私はforループを使うつもりです。
だからvar Iはゼロに等しい。
実際には1で始めることができます。
同じ理由ですでに比率を使用しているので、1でこの比率を開始することができます。
だから、私は1 4がゼロになったから始まりました。
私はレーダーリンクプラスプラスを持っています。
そして、私がしたいのは、Iの配列があるかどうかを調べることです。
したがって、個々の要素が最大値より大きい場合、MaxはArrayと等しくなります。
したがって、新しい値に達すると、常に値が変更されたり、値が変更される可能性があります。
だから、ここでこのエクササイズでは、最初の2つは3つです。
1つは最大です。
そしてループをたどって2つに比較します。
2つは1より大きい。
したがって、2つが新しい最大値です。
そしてそれは3を繰り返すことは2より大きい。
だから3つは新しい最大値であり、私たちが見逃している最後の行は、ループが終了した後でMaxを返すだけです。
そして、何が良いことでなければならない。
ですから、これをリフレッシュしてみましょう。1 2 3を最大にしてみましょう。
今度は中央に20を追加して20を取得してみましょう。
最後に、負の数で試してみましょう。
私たちはまだ20を得る。
OK。
ここでは4つの解決策があります。
それらのすべては、それぞれのために使用したループとその一部を使用する必要がありました。
私たちはforループとその一部とそのすべてを使用しました。
我々はレースを行う。
驚くばかり。
次に、私たちは次のデータ構造と、オブジェクトであるjavascriptについて学びます