この記事では、reduce()、filter()、map()、every()、some()、spread 演算子など、よく使用される配列処理関数と構文を紹介します。この知識はReactやRedux自体に直接関係するものではありませんが、この章の例にはこれらの関数や構文の使い方が含まれているので、プログラムの中で学ぶことができます。また、reduce()、filter()、map() などの関数のアイデアは関数型プログラミングから来ていることも特筆に値します。JavaScript は関数型プログラミング言語であるため、もともと複雑だったロジック処理が非常にシンプルになりました。 減らす()概要 Reduce() メソッドは関数を累積器として受け取り、配列内の各値 (左から右へ) が結合されて 1 つの値を形成します。 文法 配列.reduce(コールバック、初期値) パラメータについては以下で説明します。 const 完了カウント = todos.reduce( (count,todo)=>(todo.completed?count+1:count), 0); コードの説明: todos は配列です。 フィルター()概要 filter() メソッドは、指定された関数を使用してすべての要素をテストし、テストに合格したすべての要素を含む新しい配列を作成します。 文法 配列.フィルター(コールバック、thisArg) パラメータについては以下で説明します。 コールバック: 配列の各要素をテストするために使用される関数。3 つのパラメータが含まれます。要素を保持する(テストに合格する)場合は true を返し、保持しない場合は false を返します。 状態.filter(todo=> を返す todo.id!==アクション.id ) コードの説明: 状態はタスクの配列です。 地図()概要 map() メソッドは、元の配列の各要素に対して指定されたメソッドを呼び出した際の戻り値で構成される新しい配列を返します。 文法 配列.map(コールバック、thisArg) パラメータについては以下で説明します。 コールバック: このメソッドは元の配列の要素に対して呼び出され、新しい要素を返します。このメソッドには次の 3 つのパラメーターが含まれます。 例 状態.map(todo=>( を返す todo.id === action.id ですか? オブジェクトを割り当てます({},todo.{text:action.text}): やること )); コードの説明: state は変更前の状態であり、配列です。 構文は Object.assign(target,...sources) です。target はターゲット オブジェクト、sources は任意の数のソース オブジェクトです。 毎()概要 every() メソッドは、配列内のすべての要素が指定された関数のテストに合格するかどうかをテストするために使用されます。 文法 配列.every(コールバック、thisArg) callbak: 各要素をテストするために使用される関数。 例 const areAllMarked = state.every(todo=>todo.completed) タスク配列が走査され、各タスクの完了属性が true の場合、true を返します。 いくつかの()概要 some() メソッドは、指定された関数のテストに合格する要素が配列内に少なくとも 1 つあるかどうかをテストするために使用されます。 文法 配列.some(コールバック[,thisArg]) パラメータについては以下で説明します。 callback: 各要素をテストするために使用される関数。 例 const areAllMarked = state.some(todo=>todo.completed) タスク配列を走査し、完了プロパティが true であるタスクがある限り true を返します。 スプレッド演算子概要 スプレッド演算子を使用すると、式をある時点で展開できます。一般的なシナリオには、関数パラメータ、配列要素、分解割り当てなどがあります。 文法 関数パラメータの場合: myFunction(...iterable0bj); 配列要素の場合: [...反復可能オブジェクト、4、5、6] 分割代入の場合: 定数[a,b,...残り]=[1,2,3,4,5] 定数{a,b,...残り}={a:1,b:2,c:3,d:4} React コンポーネントのプロパティ: <App...iterable0bj/> 例 状態を展開 戻る[ id:state.reduce((maxId,todo)=>Math,max(todo,id,maxId),-1)+1, { 完了:false、 テキスト:アクション.テキスト、 }, ...州、 ]; アクションの各プロパティをコンポーネントに展開します。 <TodoItem キー = {todo.id} todo = {todo}{...アクション} /> 要約するReduce() メソッドは関数を累積器として受け取り、配列内の各値 (左から右へ) が結合されて 1 つの値を形成します。 ReactとReduxの配列処理に関する記事はこれで終わりです。ReactとReduxの配列処理についてさらに詳しく知りたい方は、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Webサービスのリモートデバッグとタイムアウト動作原理の分析
>>: MySQL で大量のデータ (数千万) を素早く削除するためのいくつかの実用的なソリューションの詳細な説明
Linux での Tomcat の起動とシャットダウンLinux システムでは、コマンド操作を使用し...
この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...
この記事では主にvue-routerのmatchedをベースにしたbreadcrumb機能を紹介し、...
目次1. SQL最適化の一般的な手順1. SQL実行計画の分析を説明する2. プロフィール分析を表示...
今日は nginx サーバーを使用するのですが、vue プロジェクトをサーバーにデプロイする必要もあ...
目次1. 関数パラメータのデフォルト値1.1 関数パラメータのデフォルト値の指定1.2 分離割り当て...
目次01 CM 02 エントリーポイント03 ワークディレクトリ04 環境05 ユーザー06巻07 ...
原因最近、プロジェクトのリファクタリングを始めたのですが、マスタースレーブと読み取り書き込み分離を使...
PHPの仕組みまず、よく耳にするcgi、php-cgi、fastcgi、php-fpmの関係を理解し...
SQL UNIQUE制約UNIQUE 制約は、データベース テーブル内の各レコードを一意に識別します...
この記事では、ドロップダウンメニューを表示および非表示にするJavaScriptの具体的なコードを参...
目次DockerコンテナのエクスポートDockerコンテナのインポートこの記事では主に、コンテナ...
目次簡単な紹介間隔の設定説明するパラメータ戻り値使用法タイムアウトの設定説明するパラメータ使用法:タ...
1. コマンドの紹介chkconfig コマンドは、システム サービスの実行レベル情報を更新および照...
目次要約する要約する配列が変更されると、対応するデータを動的にロードしますシナリオ: 異なるコンポー...