Вы можете сохранить last id
дорожку и modify
возвращаемый объект в map loop
Для несортированного списка:
let data = [
{ id: 44, message: "abcd", name: "example1" },
{ id: 44, message: "efgh", name: "example2" },
{ id: 45, message: "ijkl", name: "example3" },
{ id: 45, message: "mnop", name: "example4" },
];
let idMap = new Set();
const result = data.map((item) => {
if (idMap.has(item.id)) {
const { name: lastName, ...rest } = item;
item = { ...rest, lastName };
} else {
idMap.add(item.id);
}
return item;
});
console.log(result);
Примечание: данные должны быть отсортированы по идентификатору.
let data = [
{ id: 44, message: "abcd", name: "example1" },
{ id: 44, message: "efgh", name: "example2" },
{ id: 45, message: "ijkl", name: "example3" },
{ id: 45, message: "mnop", name: "example4" },
];
let lastId = "";
const result = data.map((item) => {
if (lastId === item.id) {
const { name: lastName, ...rest } = item;
item = { ...rest, lastName };
lastId = "";
} else {
lastId = item.id;
}
return item;
});
console.log(result);