У меня есть массив, как показано ниже. Как видите, книга может иметь много авторов. Но я хочу сгруппировать книгу по автору. Но независимо от того, что я хочу сначала разбить массив так, чтобы несколько авторов были разбиты на одного автора, а другой отправится на создание нового набора массива.
[0]
'book_name': 'book1'
'authors': array(1)
0:
author_id:'value2'
author_name: 'Name2'
[1]
'book_name': 'book2'
'authors': array(2)
0:
author_id:'value1'
author_name: 'Name1'
1:
author_id:'value2'
author_name: 'Name2'
Я хочу, чтобы ожидаемый результат был таким
[0]
'book_name': 'book1'
'authors': array(1)
0:
author_id:'value2'
author_name: 'Name2'
[1]
'book_name': 'book2'
'authors': array(1)
0:
author_id:'value1'
author_name: 'Name1'
[2]
'book_name': 'book2'
'authors': array(1)
0:
author_id:'value2'
author_name: 'Name2'
То, что я сделал до сих пор:
grouping = _.chain(books)
.flatMap('authors')
.groupBy('author_id')
.value()
Мое решение на самом деле работает, поскольку оно выравнивает массив, но моя проблема в том, что оно возвращает только «авторов», я также хочу получить информацию «книг».