Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:在对象数组中查找最大值并返回键_Javascript_Arrays - Fatal编程技术网

Javascript:在对象数组中查找最大值并返回键

Javascript:在对象数组中查找最大值并返回键,javascript,arrays,Javascript,Arrays,我需要编写一个代码来查看数据数组,并返回最年长者的姓名 console.log('The oldest person is ${oldestPerson}.') 到目前为止,我能够返回包含姓名和年龄的单独数组,但我不确定如何找到最老的年龄并返回最老的人的姓名 let names = data.map((person) => { return person.name }); let ages = data.map((person) => { return Math.

我需要编写一个代码来查看数据数组,并返回最年长者的姓名

console.log('The oldest person is ${oldestPerson}.')
到目前为止,我能够返回包含姓名和年龄的单独数组,但我不确定如何找到最老的年龄并返回最老的人的姓名

let names = data.map((person) => {
    return person.name
});

let ages = data.map((person) => {
    return Math.max(person.age)
});


要获得最大年龄,您别无选择,只能在整个阵列上循环(并获得最老的阵列)。因此,当您在数组上循环时,也要获取名称

这是许多方法中的一种:

const highestAge = 0;
const oldestName = data.reduce((prev,curr) => {
  if(curr.age > highestAgo) {
    highestAge = curr.age;
    return curr.name;
  }
  return prev;
},'');
使用reduce

let数据=[{
名字:'亨利',
年龄:20,,
工作:“店员”
},
{
名字:“朱丽叶”,
年龄:18岁,
工作:“学生”
},
{
姓名:“Luna”,
年龄:47岁,
职位:“首席执行官”
}
];
var max=0;
console.log(data.reduce)(acc,a)=>{
如果(a.年龄>最大值){
acc=a.name
max=a.年龄;
}
返回acc;

},“”)
对列表进行排序,然后取第一个?这会记录年龄,而不是姓名:)谢谢大副的指点谢谢你们两位的帮助!我是新手,不会想到使用。减少。现在读更多关于它的内容。再次感谢。如果它帮助你提高投票率,并将其标记为正确,这样它也可以帮助其他人
const highestAge = 0;
const oldestName = data.reduce((prev,curr) => {
  if(curr.age > highestAgo) {
    highestAge = curr.age;
    return curr.name;
  }
  return prev;
},'');