我需要编写一条代码,将遍历数据数组,并返回最老的人的名字。
console.log('The oldest person is ${oldestPerson}.')
let data = {
{
name: Henry,
age: 20,
job: 'store clerk'
},
{
name: Juliet,
age: 18,
job: 'student'
},
{
name: Luna,
age: 47,
job: 'CEO'
},
到目前为止,我能够返回包含名称和年龄的单独数组,但是我不确定如何找到最老的年龄并返回最老的人的名字。
let names = data.map((person) => {
return person.name
});
let ages = data.map((person) => {
return Math.max(person.age)
});
答案 0 :(得分:1)
要获得最大年龄,您别无选择,只能遍历整个数组(并获取最旧的数组)。因此,当您遍历数组时,也要获取名称。
这是许多方法中的一种:
const highestAge = 0;
const oldestName = data.reduce((prev,curr) => {
if(curr.age > highestAgo) {
highestAge = curr.age;
return curr.name;
}
return prev;
},'');
答案 1 :(得分:1)
使用减少
let data = [{
name: ' Henry',
age: 20,
job: 'store clerk'
},
{
name: 'Juliet',
age: 18,
job: 'student'
},
{
name: 'Luna',
age: 47,
job: 'CEO'
}
];
var max = 0;
console.log(data.reduce((acc, a) => {
if (a.age > max) {
acc = a.name
max = a.age;
}
return acc;
}, ""))