Estoy atascado mostrando la página del carrito donde se enumeran los productos que los usuarios agregaron al carrito. Tengo dos matrices: una con los detalles del producto.
productDetails: [
{
productID: 1,
productTitle: 'Product Title 1',
productPrice: 2000
},
{
productID: 2,
productTitle: 'Product Title 2',
productPrice: 5000
},
{
productID: 3,
productTitle: 'Product Title 3',
productPrice: 1000
},
{
productID: 4,
productTitle: 'Product Title 4',
productPrice: 10000
}
],
Otro con detalles del producto del carrito que tiene la identificación del producto y la cantidad seleccionada solo por los usuarios.
cartProducts: [
{
productID: 1,
quantity: 5,
},
{
productID: 3,
quantity: 2,
}
]
He filtrado todos los productos que el usuario ha seleccionado.
cartItemDetails() {
return this.productDetails.filter(
el => this.cartProducts.some(f => f.id === el.productID),
);
},
Esta función proporciona los detalles del producto de productID 1 y 3. Lo que quiero es una nueva matriz que agregue el atributo de cantidad de cartProducts array a productDetails.
newArray: [
{
productID: 1,
productTitle: 'Product Title 1',
productPrice: 2000,
quantity:5
},
{
productID: 3,
productTitle: 'Product Title 3',
productPrice: 1000,
quantity:5
}
]
Espero haber aclarado mis preguntas. También estoy tratando de resolver este problema con el método map javascript pero no funciona.
Saludos,
fuente