所以我试图获取“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/