JS => filter/map/reduce
filter
配列内のfilterメソッド
特定の条件を満たす要素をすべての配列要素からフィルタする方法.
ここでフィルタ基準としての特定の条件はfilterメソッドのパラメータに渡される.
このとき伝達される条件は関数の形式であることを覚えておいてください.
フィルタ条件を指定した関数をパラメータとして受け入れるため、高次関数と呼ばれます.
意味の理解例
let arr = [1, 2, 3, 4];
let output = arr.filter(짝수를 걸러내기 위한 함수식);
console.log(output); // ->> [2, 4]
<br>
arr = ['hello', 'cho', 'coding', 'happy', 'hacking'];
output = arr.filter(길이 5 이하를 걸러내기 위한 함수식)
console.log(output); // ->> ['hello', 'cho', 'happy']
実際の例function isEven(arr) {
return arr.filter(function(el) {
return el % 2 === 0
})
}
// isDouble([1, 2, 3, 4]) // [2, 4]
map
配列内のmapメソッド
すべての配列要素に同じ動作の値を返す方法.
意味の理解例
let arr = [1, 2, 3, 4];
let output = arr.map(모든 요소에 X2);
console.log(output); // ->> [2, 4, 6, 8]
実際の例function isDouble(arr) {
return arr.map(function(el) {
return el * 2
})
}
// isDouble([1, 2, 3, 4]) // [2, 4, 6, 8]
reduce
配列内のreduceメソッド
すべてのアレイの複数のデータを1つのデータに凝縮します.
意味の理解例
let arr = [1, 2, 3];
let output = arr.reduce(모든 요소의 누적 합계);
console.log(output); // ->> 6
<br>
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6]
let output = arr.reduce(두 배열의 합체);
console.log(output); // ->> [1, 2, 3, 4, 5, 6]
実際の例function isSum(arr) {
return arr.reduce(function(acc, cur) {
return acc + cur;
})
}
// isDouble([1, 2, 3, 4]) // 10
reduceメソッドのコールバック関数のパラメータは、初期値(acc)と現在値(cur)に設定されます.初期値を設定しないと、渡された配列の最初の要素が初期値に設定されます.
Reference
この問題について(JS => filter/map/reduce), 我々は、より多くの情報をここで見つけました https://velog.io/@whwodgns/JS-filter-map-reduceテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol