javascript - 获取数组 JavaScript 中 key 对值的最大数量

标签 javascript arrays ecmascript-6 max key-pair

所以我试图获取“items”数组中“size”中哪个项目的数字最大。并打印出哪个项目,如 ('item1','item2', 'item3')

let items = [
  {
    item: 'item1',
    size: 545
  },
  {
    item: 'item2',
    size: 89
  },
  {
    item: 'item3',
    size: 789
  }
]

所以我尝试了

let sizeMax = Math.max.apply(Math, items.map((o) => {
  return o.size;
}))
console.log(sizeMax)

但这不是 ES6 的方式,我不知道如何打印具有最大尺寸数字的“项目” 出名字 我一直在尝试:

items.forEach((item) => {
  function arrayMax(item) {
  return items.size.reduce((h, j) => Math.max(h, j));
}
console.log(items.item)

但我不太清楚我哪里做错了

最佳答案

您可以采用扩展语法并映射解构属性。

let items = [{ item: 'item1', size: 545 }, { item: 'item2', size: 89 }, { item: 'item3', size: 789 }],
    max = Math.max(...items.map(({ size }) => size));

console.log(max);

要获取最大大小item,您可以通过将最大大小作为累加器来缩小数组,然后获取所需的属性。

let items = [{ item: 'item1', size: 545 }, { item: 'item2', size: 89 }, { item: 'item3', size: 789 }],
    max = items.reduce((a, b) => a.size > b.size ? a : b);

console.log(max.item);

关于javascript - 获取数组 JavaScript 中 key 对值的最大数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53187482/

相关文章:

javascript - 链接 CSS、Javascript 和 HTML 过程失败

javascript - 在 ES6/ES7 中添加和删除 HTML 元素中的类

javascript - 对象中的传播语法如何工作?

python - 在 Numpy 下对两个矩阵中的所有成对行应用一个函数

arrays - 如何在javascript中交换多个数组的索引并创建一个新数组

java - 可比较<类型>数组 VS 可比较数组

javascript - ES6 模块中是否存在无法将 var 更新为 let 的上下文/情况?

javascript - express 发送文件和重定向网址

javascript - 如何使用 JavaScript 将网络浏览器切换到全屏模式?

javascript - 未解析的函数或方法 on()