今すぐコースを受講しましょう
今すぐ登録して、24,000件以上登録されている、業界エキスパート指導のコースを受講しましょう。
Array.reduce()メソッドを使う
こんにちは。 フロントエンド開発やウェブ技術についての 執筆・講習を行なっている 野中文雄です。 今週は Array reduce メソッドで 配列要素の平均を求めます。 Array reduce メソッドと言うのは 配列を集計する、 その為のメソッドなんですけども ということで、10 コードの要素を 整数を入れた配列があります。 そして平均が5と予め計算してあるんですが 綺麗な数字になるようにしておきました。 実際にこの平均を Array reduce の メソッドで求めてみることにしましょう。 では、まずは変数ですね。 const で average としましょう。 そして、array という変数に入った、 このオブジェクトに対して reduce ですね。 この中にはコールバックの関数を 書く事になっています。 ですから、function という風に しても良いんですが ここは、アロー関数式、 名前のない関数ですから アロー関数式を使ってしまいましょう。 () で矢印という事なんですが、 引数は2つ使います。 先ずは、previous と それから current としましょう。 値を返します、 1行で済ませてしまいますので => の後に {} は使えません。 どうするかと言うと previous とコードコンプリート コード補完が効かないですね。 同じ綴りになっています。 それと current と 足し込むという風にしました。 さて、この current というのが この配列要素1個1個、 この reduce というメソッドは この配列要素は 1個1個に対して処理をするんですが この関数の処理ですね。 6を受け取ると、 そしたらこの6が current に入ります。 処理をしたら、次に4を受け取ると。 またその4に対してこの処理が行われます。 previous というのは、 前の要素を処理した時の集計結果です。 今回は足し算ですけれども この計算式はどの様にしても結構です。 なるほどと。 じゃあ最初のこの6を計算する時には、 前の値って何なのかと思うかもしれませんが 初期値をこの reduce メソッドの 第2引数に設定する事も出来ます。 もしそれをしないと、インデックス1番から スタートするんですね。 そして previous 第1引数には、…
エクササイズファイルを使って実践してみましょう。
インストラクターがコースで使用しているファイルはダウンロードできます。見て、聞いて、練習することで、理解度を深めることができます。
- project_file_01_arrow_function.zip
- project_file_02_arrow_this.zip
- project_file_03_onload.zip
- project_file_04_event_listener.zip
- project_file_05_get_postage_weight.zip
- project_file_06_default_value.zip
- project_file_07_callback_function.zip
- project_file_08_set_digits.zip
- project_file_09_let_number_comma.zip
- project_file_10_calc_age_birthday.zip
- project_file_11_jquery_dropdown_list.zip
- project_file_12_jquery_dropdown_function.zip
- project_file_13_query_dropdown_option.zip
- project_file_14_array_for_each.zip
- project_file_15_array_from.zip
- project_file_16_array_entries_forof.zip
- project_file_17_array_search.zip
- project_file_18_array_from_fill.zip
- project_file_19_ecmascript6_array.zip
- project_file_20_ecmascript6_date.zip
- project_file_21_copy_object.zip
- project_file_22_copy_object_json.zip
- project_file_23_promise_webapi.zip
- project_file_24_rxjs_observable.zip
- project_file_25_happy.zip
- project_file_26_premium.zip
- project_file_27_object.zip
- project_file_28_arrow.zip
- project_file_29_get_set.zip
- project_file_30_array_reduce.zip
- project_file_31_array_map.zip
- project_file_32_array_valiation.zip
- project_file_33_spread.zip
- project_file_34_parameter.zip
- project_file_35_separate.zip
- project_file_36_every_bit.zip
- project_file_37_bit_shift.zip
- project_file_38_rgb_color.zip
- project_file_39_rgb_16.zip
- project_file_40_dom.zip
- project_file_41_array_every.zip
- project_file_42_bit.zip
- project_file_43_fetch_api.zip
- project_file_44_fetch_error.zip
- project_file_46_async_api.zip
- project_file_47_rxjs_mouse.zip
- project_file_48_rxjs_api.zip
- project_file_49_function.zip
- project_file_50_animation.zip
- project_file_51_variables.zip
- project_file_52_set.zip
- project_file_53_counter.zip
- project_file_54_picker.zip
- project_file_55_align.zip
- project_file_56_letter.zip
- project_file_57_random2.zip
- project_file_58_color.zip
- project_file_59_filter.zip
- project_file_60_delete.zip
- project_file_61_style.zip
- project_file_62_blank.zip
- project_file_63_multi.zip
- project_file_64_field.zip
- project_file_65_insert.zip
- project_file_66_random.zip
- project_file_67_jason.zip
- project_file_69_axios.zip
- project_file_70_date.zip
- project_file_71_customize.zip
- project_file_72_condition.zip
目次
-
-
-
(ロック済み)
条件の組み立て方7分59秒
-
(ロック済み)
条件の最適化6分
-
(ロック済み)
うるう年をDateオブジェクトで調べる6分17秒
-
(ロック済み)
JavaScriptライブラリaxiosで非同期通信をする7分42秒
-
(ロック済み)
オブジェクトの分割代入4分30秒
-
(ロック済み)
分割代入によるJSONデータの取り出し5分14秒
-
(ロック済み)
配列のランダムな並べ替え9分52秒
-
(ロック済み)
要素をつくって挿入する5分9秒
-
(ロック済み)
入力フィールドのテキストを要素として挿入する4分49秒
-
(ロック済み)
複数の要素を入れ子にして挿入する5分28秒
-
(ロック済み)
テキストの空白の扱い5分27秒
-
(ロック済み)
要素のスタイルを動的に変える7分
-
(ロック済み)
要素を削除する7分2秒
-
(ロック済み)
要素をフィルタリングする9分58秒
-
(ロック済み)
カラーをランダムに定める7分41秒
-
(ロック済み)
色相をランダムに定める3分53秒
-
(ロック済み)
英字の大文字・小文字を切り替える2分49秒
-
(ロック済み)
文字列の桁を揃える4分47秒
-
(ロック済み)
カラーピッカーを使う6分26秒
-
(ロック済み)
オブジェクトでカウンターをつくる3分50秒
-
(ロック済み)
get/setメソッドを定める7分48秒
-
変数値を外から隠す4分53秒
-
(ロック済み)
要素をアニメーションさせる5分50秒
-
(ロック済み)
三角関数を使ったアニメーション4分4秒
-
(ロック済み)
RxJS 6でweb APIにアクセスする5分5秒
-
(ロック済み)
RxJS 6でマウスクリックを扱う7分
-
(ロック済み)
async function式でweb APIにアクセスする6分16秒
-
(ロック済み)
async function式を使ってみる7分14秒
-
(ロック済み)
fetch()メソッドでエラーを扱う3分59秒
-
(ロック済み)
fetch()メソッドでweb APIにアクセスする5分18秒
-
(ロック済み)
ビット演算をフラグに使う7分2秒
-
複数ボタンのクリックをArray.every()メソッドで調べる5分33秒
-
(ロック済み)
DOM要素にTypedArray.forEach()メソッドを使う5分12秒
-
(ロック済み)
16進数カラー値からRGB成分値を取り出す4分27秒
-
(ロック済み)
RGB成分値からカラー値を求める4分56秒
-
(ロック済み)
ビットのシフト演算子を使う5分37秒
-
(ロック済み)
ビットごとの演算を試す6分2秒
-
(ロック済み)
分割代入を使う5分13秒
-
(ロック済み)
残余引数を定める4分39秒
-
(ロック済み)
スプレッド構文を使う5分48秒
-
(ロック済み)
Arrayのメソッドで標準偏差を求める4分7秒
-
Array.map()メソッドを使う4分3秒
-
(ロック済み)
Array.reduce()メソッドを使う4分2秒
-
(ロック済み)
オブジェクトにget/setメソッドを定める3分6秒
-
(ロック済み)
オブジェクトに定めるアロー関数式のメソッド4分26秒
-
(ロック済み)
オブジェクトリテラルの新しい構文5分12秒
-
(ロック済み)
プレミアムフライデーを調べる6分46秒
-
(ロック済み)
ハッピーマンデーを調べる5分24秒
-
(ロック済み)
RxJSのObservableを使った非同期処理のやり方7分52秒
-
(ロック済み)
Promiseを使った非同期処理のやり方9分36秒
-
(ロック済み)
参照は残さずオブジェクトを複製するテクニック5分43秒
-
オブジェクトを複製する方法6分39秒
-
(ロック済み)
ECMAScript 6でDateクラスを継承する9分37秒
-
(ロック済み)
ECMAScript 6でArrayクラスを継承する7分34秒
-
(ロック済み)
配列要素に初期値を与える新しいメソッドの使い方5分27秒
-
(ロック済み)
配列要素を検索する新しいメソッドの使い方9分26秒
-
(ロック済み)
新しいfor...of文を使ったループ処理のし方5分5秒
-
(ロック済み)
Array.from()メソッドで配列のようなオブジェクトを扱う6分58秒
-
(ロック済み)
for文をArray.forEach()メソッドに置き換える9分37秒
-
(ロック済み)
jQueryプラグインで複数選択リストをつくる10分6秒
-
(ロック済み)
jQueryプラグインでドロップダウンリストに機能を加える8分40秒
-
jQueryでドロップダウンリストを操作する9分25秒
-
(ロック済み)
生年月日から満年齢を計算する11分15秒
-
(ロック済み)
関数の再帰呼び出しで数字をカンマ区切りにする9分26秒
-
(ロック済み)
数字の前に0を加えて桁揃えする8分43秒
-
(ロック済み)
コールバック関数があることを確かめてから呼び出す8分47秒
-
(ロック済み)
変数や関数の引数にデフォルト値を定める8分33秒
-
(ロック済み)
郵便料金を条件判定する関数のつくり方9分31秒
-
(ロック済み)
ドキュメントの読み込みをイベントリスナーで待つ7分4秒
-
(ロック済み)
ドキュメントの読み込みをonloadハンドラで待つ7分14秒
-
(ロック済み)
アロー関数式のthis参照はfunctionとどう違うのか8分5秒
-
functionをアロー関数式に書き替えるには8分7秒
-
(ロック済み)