この記事では、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 で大量のデータ (数千万) を素早く削除するためのいくつかの実用的なソリューションの詳細な説明
WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...
目次序文開発環境新しいプロジェクトを作成するモバイルウェブプロジェクト角度付きJSONパブリックモジ...
この記事では、シームレスなカルーセル効果を実現するためのVueの具体的なコードを例として紹介します。...
目次概要戦略パターンを使用しないフォーム検証戦略パターンを使用して最適化する戦略パターンの利点要約す...
目次1. Vue2 構文2. Vue3の使用1. コンポーネントのref値を設定する2. コンポーネ...
この記事は主にDockerでパラメータ変数を外部から指定する方法を紹介します。この記事のサンプルコー...
この記事の例では、チャットインターフェースの表示を実現するためのVueの具体的なコードを参考までに共...
1. ビューポートの概要モバイル ブラウザは通常、画面よりも幅の広い仮想ウィンドウにページをレンダリ...
1. まず、MySQL の公式サイトから最新バージョンの MySQL をダウンロードします。リンクを...
ここでは、フォーム要素とフォーム送信に関する知識を紹介します。フォーム要素フォーム要素の DOM イ...
Vueでの監視方法時計知らせ名前: 監視する属性に同じ名前を付ける必要があります。 1. 機能Vue...
目次1. バックアップ1.1 万全の準備1.2 追加の準備2 バックアップとリカバリ2.1 データの...
<em></em> などのフレーズ要素を使用すると、意図した視覚スタイルを維...
1.MySQLのバージョン [root@clq システム]# mysql -v MySQL モニター...
数日前に CentOS8 がリリースされました。8 の最初のバージョンですが、今日は VM12 に ...