mapメソッドを使用する部分をメモ。
mapメソッドは配列を繰り返し処理するメソッド。新しい配列を生成できる。
const arr = ['りんご', 'ばなな', 'いちご']
const converted = arr.map((value, idx) => {
return `${idx} と ${value}`
})
converted // ["0 と りんご" ,"1 と ばなな", "2 と いちご"]
オブジェクトの配列に対してもmapメソッドは使用できる。以下は簡単な足し算を行う。
let array = [
{ first: 20, second: 30 },
{ first: 42, second: 43 }
];
let addition = array.map(function (element) {
return element.first + element.second;
})
addition // [50 ,85]
配列の計算もmapメソッドならば簡潔に書ける.下記コードは、平均と標準偏差を計算している。
const map = function (a, ...args) { return a.map(...args) }
const reduce = function (a, ...args) { return a.reduce(...args) }
const sum = (x, y) => x + y
const square = (x) => x * x
let data = [1, 1, 3, 5, 5];
let mean = reduce(data, sum) / data.length
let deviations = map(data, x => x - mean)
let stddev = Math.sqrt(reduce(map(deviations, square), sum) / (data.length - 1))
stddev // 2
参考