let info = [
{
name: 'Harry Potter',
weight: 160,
hobby: 'quidditch',
},
{
name: 'Hermione Granger',
weight: 130,
hobby: 'reading',
}
{
name: 'Ronald Weasley',
weight: 185,
hobby: 'quidditch',
}
]
我如何找出谁最重?
到目前为止的思想过程-编写将执行以下操作的代码:
到目前为止,我还停留在第一步。我可以访问一个字符的特定权重,但不能访问所有权重。我已经尝试过以下代码:
const char_weight = data['weight']
console.log(char_weight)
但是它返回的是“未定义”。
答案 0 :(得分:3)
有很多方法可以做到这一点。您可以简单地对数组进行排序,然后选择最上面的条目。
let info = [ { name: 'Harry Potter', weight: 160, hobby: 'quidditch', }, { name: 'Hermione Granger', weight: 130, hobby: 'reading', }, { name: 'Ronald Weasley', weight: 185, hobby: 'quidditch', } ]
console.log(info.sort((x,y) => y.weight - x.weight)[0])
根据反馈进行更新。
答案 1 :(得分:0)
您可以遍历数组并获取具有最大权重值的对象的索引。通过索引,您还可以访问对象的其他属性。此方法不会更改数组。
let index = 0;
for (let i = 1; i < info.length; i++) {
if (info[index].weight < info[i].weight) {
index = i;
}
}
现在,将具有最大权重值的对象的索引存储在index中,您可以访问以下属性:info [index] .name,info [index] .weight等