我有以下方法来找到信用最高的用户

let highest = this.users.reduce((max, current) => {
    current.credits > max.credits ? current : max, {credits: 0}
});



  现在我想知道如何查看谁的得分最高(学分+镜头)


我尝试了以下但没有成功,但是我变得不确定

let bestSupporter = this.users.reduce((max, current) => {
    (current.credits + current.shots) > (max.credits + max.shots) ? current : max, {credits: 0}
});


以下内容也不起作用(将镜头添加到初始值

let bestSupporter = this.users.reduce((max, current) => {
    (current.credits + current.shots) > (max.credits + max.shots) ? current : max, {credits: 0, shots: 0}
});

最佳答案

在箭头功能中使用大括号时,您需要一个return语句。

然后,您可以使用一个起始值来检查该值

let highest = this.users.reduce((max, current) => {
    return current.credits > max.credits ? current : max,
}, { credits: 0 });


或省略起始值并直接使用对象。

let highest = this.users.reduce((a, b) => a.credits > b.credits ? a : b);

关于javascript - ES6查找使用reduce组合的多个值中的最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48793792/

10-12 00:46