gpt4 book ai didi

javascript - 从数组中的对象中查找最大整数并返回键值对

转载 作者:行者123 更新时间:2023-12-03 02:50:16 26 4
gpt4 key购买 nike

我正在尝试编写一个将对象数组作为参数的函数,如下所示:function getOldest([{name:john,age:69},{name:jane,age:28},{name:paul,age:19}])

该函数会检查对象的age属性并找到最大值,然后返回name属性。

getOldest([{name: john, age: 35}, {name: jane, age: 20}, {...}])
returns "john"

此外,如果两个键值对共享相同的值,例如两个人年龄相同,它将返回一个数组。

getOldest([{name: john, age: 20}, {name: jane, age: 20}, {...}])
returns ['john', 'jane']

我已经花了大约五个小时试图弄清楚如何做到这一点,但我就是不明白。

最佳答案

我总是返回一个数组以保持一致性:

 function getOldest(arr){
const old = arr.reduce((acc, {age}) => Math.max(acc, age), 0);
return arr.filter(({age}) => age === old);
}

首先它使用reduce遍历数组并找到最旧的年龄,然后返回经该年龄过滤的数组。

<小时/>

如果你想一步减少:

 function getOldest(arr){
var old = 0;
return arr.reduce((arr, {name, age}) => {
if(age > old){
old = age;
return [name];
}
if(age === old) return arr.concat(name);
return arr;
}, []);
}

关于javascript - 从数组中的对象中查找最大整数并返回键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47899855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com