js 大佬请赐教优雅算法

2020-07-09 11:25:44 +08:00
 coderQiQin
let params = {
    d:9,
    i:15,
    s:3,
    c:15
  }
  // ['i','c']
  
let params2 = {
    d:9,
    i:20,
    s:3,
    c:10
  }
  // ['i']

期望返回最大值的 key 的数组, 有没有优雅方式,或者函数式

6997 次点击
所在节点    JavaScript
64 条回复
purensong
2020-07-10 11:18:15 +08:00
43 楼的确实最优了
wanguorui123
2020-07-10 13:33:35 +08:00
改进版:
var maxKeys = params => Object.entries(params).sort((a,b)=>a[1] < b[1] ? 1 : (a[1] > b[1] ? -1 : 0)).filter((e,i,arr)=>arr[0][1] === e[1]).flatMap(e=>e[0]);
buhi
2020-07-10 13:44:21 +08:00
就这个还要讨论这么长一串 搞不懂
Zenyk
2020-07-10 16:40:03 +08:00
建议说 43 最优的先去看看什么叫基数排序 再看看这个排序的适用场景

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/688484

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX