const shopNamesElements = document.querySelectorAll('.shop_name');
const uniqueShopNames = [];
const arr = [];
for (let i = 0; i < shopNamesElements.length; i++) {
const name = shopNamesElements[i].innerText;
if (!uniqueShopNames.includes(name)) {
uniqueShopNames.push(name);
arr.push({ name });
}
}
Во-первых это в песочнице, на проекте в key передается id карточки
Во-вторых, ну вот убрал я Math.random() как рисовал он заново компоненты с таким же ключем так и рисует https://skr.sh/s92cgQoKLeC