从前(启)
群里面突发疑问:对象数组里面有一个val是数字,我怎么找到最大的那一项呢?
经过(承)
- 排序可以 sort
return a.num-b.num - reduce 也可以
然后(转)
单纯这么写貌似没有完成需求(PS. 提问者描述不太清楚)。
结果(合)
上代码
const source = [{a: 1, b: 1}, {a: 2, b: 2}, {a: 5, b: 3}, {a: 4, b: 4}, {a: 3, b: 6}]
const MaximumProperty = (source, property) => {
return source.reduce((cur, acc) => cur[property] === Math.max(cur[property], acc[property]) ? cur : acc, {[property]: null})
}
const max_element_a = MaximumProperty(source, "a")
const max_element_b = MaximumProperty(source, "b")
console.log(5, max_element_a)
console.log(6, max_element_b)
// 5 { a: 5, b: 3 }
// 6 { a: 3, b: 6 }