function getPersonWithMostFriendsByName(people, friendName) {
let filteredPeople =
people.map(function(personObj) {
return {
name:
personObj.name,
count: personObj.friends.filter(function(friendObj) {
return
friendObj.name === friendName;
}).length
};
});
const max = filteredPeople.reduce(function(aggr, obj) { // name, count
if(aggr === undefined) {
return obj;
}
if(obj.count > aggr.count) {
return obj;
}
return aggr;
}, undefined);
return
max.name;
}
alert(getPersonWithMostFriendsByName([
{
name: "Joe",
friends: [
{name: "Susan", age: 12},
{name: "Jane", age: 43},
{name: "Susan", age: 33}
]
},
{
name: "Liz",
friends: [
{name: "Mila", age: 12},
{name: "Susan", age: 43},
{name: "Jane", age: 33}
]
},
{
name: "Mike",
friends: [
{name: "Susan", age: 12},
{name: "Susan", age: 43},
{name: "Susan", age: 33}
]
}
], "Susan"));
а этот как можно писать по другому?