Как изменить массив объектов Javascript
Создано: 23 января 2025Автор: Егор Астапов72 просмотраСложность: легкий
Покажу вам как изменить массив объектов Javascript. Существует несколько способов. Я показал вам популярные способы. Вы можете добавить свои ключи и значения. Очень часто API выдает большой список объектов и их необходимо обработать. Не лепите лишние массивы типа newArray, newPosts. Не стоит плодить лишние переменные. Если у вас тысячи записей, то новый массив с изменёнными данными будет почти в 2 раза больше нагружать скрипт. Взгляните на код ниже. Тут самое короткое решение - это функция map. Самоё объёмное решение - это цикл for.
let posts = [
{
"url": "vps-vds-kvm-in-europe-for-little-money",
"created_at": "2024-11-06T15:44:37"
},
{
"url": "vps-vds-kvm-in-moscow",
"created_at": "2024-10-13T15:17:06"
}
];
// map
posts = posts.map((post) => ({
url: `${process.env.NEXT_PUBLIC_FRONT_HOST}/post/${post.url}`,
lastModified: new Date(post.created_at),
changeFrequency: 'weekly',
priority: 0.8
}));
// for
for(let i = 0; i < posts.length; i++){
let item = {};
item['url'] = `${process.env.NEXT_PUBLIC_FRONT_HOST}/post/${post.url}`;
item['lastModified'] = new Date(post.created_at);
item['changeFrequency'] = 'weekly';
item['priority'] = 0.8;
items.push(item);
posts[i] = item
}
// posts
posts.forEach((post) => {
post['url'] = `${process.env.NEXT_PUBLIC_FRONT_HOST}/post/${post.url}`;
post['lastModified'] = new Date(post.created_at);
post['changeFrequency'] = 'weekly';
post['priority'] = 0.8;
});
/* вывод:
{
"url": "https://egorch.ru/post/vps-vds-kvm-in-europe-for-little-money",
"lastModified": "2024-11-06T12:44:37.000Z",
"changeFrequency": "weekly",
"priority": 0.8
},
{
"url": "https://egorch.ru/post/vps-vds-kvm-in-moscow",
"lastModified": "2024-10-13T12:17:06.000Z",
"changeFrequency": "weekly",
"priority": 0.8
}
]*/