院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

reduceでいろいろつくる

reduceにもなれてきたからjavascriptの配列のメソッドをreduceで書いてみた

let isDivided2 = el => {
  return el % 2 == 0
}

let square = el => {
  return el * el
}

// every
arr1.every(isDivided2)
arr1.reduce((acc, cur) => (isDivided2(cur) ? acc : false), true)

// some
arr1.some(isDivided2)
arr1.reduce((acc, cur) => (isDivided2(cur) ? true : acc), false)

// //map
arr1.map(square)
arr1.reduce((acc, cur) => {
  return acc.concat(square(cur))
}, [])

// // filter
arr2.filter(isDivided2)
arr2.reduce((acc, cur) => {
  return isDivided2(cur) ? acc.concat(cur) : acc
}, [])

//max
Math.max(...arr1)
arr1.reduce((acc, cur) => (acc < cur ? cur : acc))

//min
Math.min(...arr1)
arr1.reduce((acc, cur) => (acc > cur ? cur : acc))