[CS]Reduce補習日-22
2021 ワード
reduceとreduceRight
forEach, for, for..ofを使用して、アレイ内の要素を繰り返し処理します.
各要素の周りで繰り返し操作を行い、マッピングを使用して新しい配列形式の作業成果物を得ることができます.
arr.reduceおよびarr.reduceRightも同様の方法を用いる.
注意事項
arr.reduceおよびarr.reduceRightは、配列に基づいて値をエクスポートするために使用されます.
ex)reduce基本構文
let result = arr.reduce(function(acc, cur, index){
// ...
}, [initial]);
最初の引数は、以前に呼び出された関数の結果を蓄積するアキュムレータ(アキュムレータ)です.
reduceを使用すると、配列内のすべての要素の値を1行のコードで求めることができます.
ex)
let arr = [1,2,3,4,5];
let result = arr.reduce(function(acc, cur){
return acc + cur;
// 풀어쓰면
// acc += cur
// return acc; 가 된다.
}, 0);
console.log(result); // 결국 출력은 15
reduceに渡される関数は2つしかありません.通常は2つしか受信されません.関数は、最初の呼び出し時の最後の部分(0)で開始点を指定します.配列の最初の要素arr[0]が割り当てられています.
その後も並び続ける2 3 4 5
△acc+curなので加算します.*面を乗じます.
上記の手順を繰り返した後、結果値を返します.
初期値をゼロに減らす必要はありません。
arr.reduceRightにも同様の機能がありますが、右側から演算を実行する点が異なります.
Array.isArrayで並べますか?
JavaScriptでは、配列は独立したデータ型ではなくオブジェクト型に属します.
したがって、typeofは通常のオブジェクトと配列を区別できません.
ex)
console.log(typeof {}); // object 출력
console.log(typeof []); // object 출력
配列は一般的なデータ構造です.そのため、平らに敷くかどうかを鑑別する方法が必要です.(Array.isArray)valueが配列の場合true、非配列の場合false
console.log(Array.isArray({})); // false 출력
console.log(Array.isArray([])); // true 출력
配列方法と「thisArg」
find、filter、mapは、thisArgというパラメータをオプションとして受信できます.
ex)
console.log(arr.find(func, thisArg);
console.log(arr.filter(func, thisArg);
console.log(arr.map(func, thisArg);
this ArgがfuncになったthisReference
この問題について([CS]Reduce補習日-22), 我々は、より多くの情報をここで見つけました https://velog.io/@cptkuk91/CS40テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol