Показать сообщение отдельно
  #2 (permalink)  
Старый 18.04.2021, 19:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

dc65k,
<script>
const array  = [
    {name: 'prop1', title: 'title1'},
    {name: 'prop2', title: 'title2'},
    {name: 'prop3', title: 'title3'},
    {name: 'prop1', title: 'title4'},
    {name: 'prop1', title: 'title5'},
];

const f = a => a.reduce((a, b) => {
    let {name} = b;
    if (!a[name]) a.accumulator.push({[name]: a[name] = []});
    a[name].push(b);
    return a;
}, {accumulator: []}).accumulator;

let a = f(array);

document.write(`<pre>${JSON.stringify(a, "", 1)}</pre>`)
    </script>
Ответить с цитированием