getMaxValue
getMaxValue
(collection: Numbers) => number | undefined
Return the largest number in the collection
getMaxValue([2, 1, 3]) // is 3 getMaxValue([]) // is undefined
getMaxValue([2, 1, 3]) // is 3 getMaxValue([]) // is undefined
getMaxValue([2, 1, 3]) // is 3 getMaxValue([]) // is undefined
getMaxValue([2, 1, 3]) // is 3 getMaxValue([]) // is undefined
Sometimes we need the largest number in a collection. Below, we're preparing to load test our website. Using last week's metrics, let's find the maximum number of site visits so we know how many to emulate for testing.
const metrics = { mon: { views: 5128, avgRequestTime: 0.42 }, tue: { views: 4790, avgRequestTime: 0.39 }, wed: { views: 4845, avgRequestTime: 0.41 }, thr: { views: 5401, avgRequestTime: 0.45 }, fri: { views: 5326, avgRequestTime: 0.42 }, } const getViewMetrics = mapValues(get('views')) const getMaxViews = compose([getViewMetrics, getMaxValue]) const maxViews = getMaxViews(metrics) console.log(maxViews) // is 5401
type Metric = { views: number avgRequestTime: number } type Metrics = Record<string, Metric> const metrics: Metrics = { mon: { views: 5128, avgRequestTime: 0.42 }, tue: { views: 4790, avgRequestTime: 0.39 }, wed: { views: 4845, avgRequestTime: 0.41 }, thr: { views: 5401, avgRequestTime: 0.45 }, fri: { views: 5326, avgRequestTime: 0.42 }, } const getViews = get('views')<Metric> const getViewMetrics = mapValues(getViews)<Metrics> const getMaxViews = compose([getViewMetrics, getMaxValue]) const maxViews = getMaxViews(metrics) console.log(maxViews) // is 5401
const metrics = { mon: { views: 5128, avgRequestTime: 0.42 }, tue: { views: 4790, avgRequestTime: 0.39 }, wed: { views: 4845, avgRequestTime: 0.41 }, thr: { views: 5401, avgRequestTime: 0.45 }, fri: { views: 5326, avgRequestTime: 0.42 }, } const getViewMetrics = mapValues(get('views')) const getMaxViews = compose([ getViewMetrics, getMaxValue, ]) const maxViews = getMaxViews(metrics) console.log(maxViews) // is 5401
type Metric = { views: number avgRequestTime: number } type Metrics = Record<string, Metric> const metrics: Metrics = { mon: { views: 5128, avgRequestTime: 0.42 }, tue: { views: 4790, avgRequestTime: 0.39 }, wed: { views: 4845, avgRequestTime: 0.41 }, thr: { views: 5401, avgRequestTime: 0.45 }, fri: { views: 5326, avgRequestTime: 0.42 }, } const getViews = get('views')<Metric> const getViewMetrics = mapValues( getViews )<Metrics> const getMaxViews = compose([ getViewMetrics, getMaxValue, ]) const maxViews = getMaxViews(metrics) console.log(maxViews) // is 5401