从Javascript中的每一列获取最大值?

Ram*_*kov 1 javascript

我在 Javascript 中工作。我有一个对象数组。每个对象看起来像这样

{
    date: Mon Oct 31 2016 19:00:00 GMT-0500 (Central Daylight Time), 
    Catan: 62588, 
    Dominion: 51915, 
    Codenames: 21263, 
    Terraforming Mars: 2148
}
Run Code Online (Sandbox Code Playgroud)

如何从第 2-5 列获取最大数字的数组?

hgb*_*123 5

首先,您映射以从每个对象的 col2-5 中获取值数组,然后将其减少以找到相应列的最大值

const data = [
  {
    date: "Mon Oct 31 2016 19:00:00 GMT-0500 (Central Daylight Time)",
    Catan: 62588,
    Dominion: 51915,
    Codenames: 21263,
    "Terraforming Mars": 2148,
  },
  {
    date: "Mon Oct 31 2016 20:00:00 GMT-0500 (Central Daylight Time)",
    Catan: 9561,
    Dominion: 74152,
    Codenames: 5123,
    "Terraforming Mars": 1078,
  },
  {
    date: "Mon Oct 31 2016 21:00:00 GMT-0500 (Central Daylight Time)",
    Catan: 62588,
    Dominion: 84102,
    Codenames: 96396,
    "Terraforming Mars": 6423,
  },
]

const res = data
  .map((obj) => Object.values(obj).slice(1, 5))
  .reduce((acc, el) => acc.map((max, i) => Math.max(max, el[i])), [0, 0, 0, 0])

console.log(res)
Run Code Online (Sandbox Code Playgroud)