Имеется массив документов:
let docs = [
{index:0, type: 'Word', date: '24.06'}, {index:1, type: 'Word', date: '24.06'},
{index:2, type: 'Word', date: '25.06'}, {index:3, type: 'Word', date: '26.06'},
{index:4, type: 'Excel', date: '24.06'}, {index:5, type: 'Excel', date: '24.06'},
{index:6, type: 'Excel', date: '25.06'}, {index:7, type: 'Excel', date: '26.06'},
{index:8, type: 'Another', date: '24.06'}, {index:9, type: 'Another', date: '24.06'},
{index:10, type: 'Another', date: '26.06'}, {index:11, type: 'Another', date: '26.06'},
]
Нужно получить:
[
{type: "Word", date: "24.06"}, {type: "Word", date: "26.06"},
{type: "Word", date: "27.06"}, {type: "Excel", date: "24.06"},
{type: "Excel", date: "25.06"}, {type: "Another", date: "24.06"},
{type: "Another", date: "26.06"}
]
Можно ли найти способ реализации при помощи нативного JS?
Я пытался сделать это при помощи new Set(), но таким способом находил решение только для одного свойства:
let unique = doсs.reduce((acc, elem) => {
return acc.add(elem.type);
}, new Set())
let createdObject = Array.from(unique).map((elem, index) => {
let arr = {type: elem, date: elem}
return arr
})
return createdObject
Спасибо за просмотр вопроса!