JSFiddle - React, Tailwind, and code Playground
by Sergei Sokolov
JavaScript
/**
* для вопроса https://qna.habr.com/q/736135
* Как сформировать объект в виде ассоциативного массива?
*/
const arr = [
{ name: "filter-name", value: "Исполнитель" },
{ name: "operator-select", value: "contains" },
{ name: "name-select", value: "1" },
{ name: "filter-name", value: "Статус" },
{ name: "operator-select", value: "contains" },
{ name: "search", value: "sdadasds" },
];
const result = arr.reduce((acc, cur) => {
if (cur.name === 'filter-name') acc.push({});
acc[acc.length - 1][cur.name] = cur.value;
return acc;
}, []);
const output = document.createElement('pre');
output.innerText = JSON.stringify(result, null, 2);
document.body.appendChild(output);