Wpis z mikrobloga

@n0c0Mpr3h3nD: W zasadzie to powinieneś sobie zrobić coś takiego
-tworzysz mapę
-lecisz pętlą po tablicy książka + autor
-na każdej iteracji albo dodajesz nowy wpis do mapy indeksując po autorze z wartością 1 bądź zwiększasz wartość o jeden jeżeli autor już istnieje
po pętli w mapie masz autor: liczba książek

teraz możesz sobie zmienić mapę na tablicę i posortować po liczbie książek i zależnie jak posortowałeś bierzesz pierwszy bądź ostatni indeks
@n0c0Mpr3h3nD: choć jak to byś chciał koniecznie chainem zrobić to się da

var books = [
{ 'title': 'barney', 'author': 1 },
{ 'title': 'fred', 'author': 2 },
{ 'title': 'pebbles', 'author': 3 },
{ 'title': 'pebbles', 'author': 3 },
{ 'title': 'pebbles', 'author': 1 },
{ 'title': 'pebbles', 'author': 1 }
];


var a = _.chain(books)
.groupBy((book) => book.author)
.map((group, author) => ({author, books: group.length}))
.sortBy('books')
.last()
.value();
console.log(a)