products = {
byId: {
[productId1]: { ...productData },
[productId2]: { ...productData },
...
},
ids: [productId1, productId2, ...]
}
if (!products.byId[productId]) {
products.byId[productId] = {
...product, count: 1,
}
products.ids.push(productId) // сохраняем позицию на момент добалвения
} else {
products.byId[productId].count += 1 // увеличили счетчик
}
products.ids.forEach(id => { // forEach для примера просто
const product = products.byId[id]
// чего то делаем с товаром
})