maxBy

less than 1 minute read

개요

이 글은 https://www.30secondsofcode.org/에서 작성한 글을 번역 및 확인해보는 글 입니다.

원문 : maxBy

주어진 함수를 이용하여 각 요소를 맵핑한 후 배열내의 최대값을 반환합니다.

Array.prototype.map() 을 사용하여 요소를 fn을 통해 반환된 요소중 Math.max()로 가장 큰 값을 가져옵니다.

const maxBy = (arr, fn) =>
  Math.max(...arr.map(typeof fn === 'function' ? fn : (val) => val[fn]))

maxBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (o) => o.n) // 8
maxBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], 'n') // 8

Leave a comment