На самом деле, если вам нужны только первые 4 names
, вы можете сначала slice
массив, а затем map
над массивом 4 длины (это улучшит производительность, так как вы не будете отображать весь оригинал массив). Кроме того, свойство cast
может быть принято directclty без необходимости Object.values()
. Итак, ваш код может быть уменьшен до этого:
this.movieService.getCast(id).subscribe(cast =>
{
console.log(cast);
this.cast = cast.cast.slice(0, 4).map(el => el.name);
console.log(this.cast);
});
Закажите результат и возвратите первый.
var callStats = (from c in database.CallLogs
group c by c.RemoteParty into d
select new
{
RemoteParty = d.Key,
TotalDuration = d.Sum(x => x.Duration)
});
callStats = callStats.OrderByDescending( a => a.TotalDuration )
.FirstOrDefault();
Взгляните на метод расширения "Max" от linq
callStats.Max(g=>g.TotalDuration);