Necesito almacenar ciertos valores dentro de una propiedad de un JSON pero que este valor no se reinicie y pueda seguir añadiendo más valores.
los valores de la variable pedido los necesito agregar a la propiedad vendidos del objeto restaurante.
he intentado con varios métodos como slice
, concat
y con spread operators
pero no he podido obtener el resultado que se espera.
Aquí les dejo el código con el que he intentado.
Agradezco muchísimo su ayuda y orientación.
const MENU = [
{
producto: "Hamburguesa sencilla",
precio: 5000,
codigo: "HS01"
},
{
producto: "Hamburguesa especial",
precio: 12000,
codigo: "HE02"
},
{
producto: "Papas a la francesa",
precio: 4000,
codigo: "PF03"
},
{
producto: "Gaseosa",
precio: 2500,
codigo: "GS04"
},
]
const restaurante = {
vendidos: [],
totalVentas: 0
}
const usuario = {
nombre: "Andres",
edad: 22,
deuda: 0,
}
const MOSTAR_MENU = () => {
console.log("Codigo - Producto - Precio")
for (let item of MENU) {
console.log(`${item.codigo} - ${item.producto} - ${item.precio}`)
}
}
let pedido = []
// let total = []
const REALIZAR_PEDIDO = codigo => {
codigo = codigo.toUpperCase()
if (!codigo) return "no se admiten campos vacios"
if (typeof codigo != "string") return "el valor ingresado no es valido"
const buscar = MENU.find(item => item.codigo === codigo)
if (!buscar) return "producto no encontrado"
pedido.push(buscar)
restaurante.vendidos = pedido.slice()
}
const MOSTAR_PEDIDO = () => {
console.log("Codigo - Producto- Precio")
for (let item of pedido) {
console.log(`${item.codigo} - ${item.producto} - ${item.precio}`)
}
}
const totalPagar = () => {
for (costo of pedido) {
usuario.deuda += costo.precio
pedido = []//aqui se esta reinicienado la variable pedido lo cual tambien me esta reiniciando el valor de la propiedad objeto restaurante.t
}
return ` ${usuario.nombre}, Debes pagar un total de $${usuario.deuda}`
}
const PAGAR_PEDIDO = pago => {
switch (true) {
case pago < usuario.deuda:
console.log(`no te alcanza para pagar tu deuda; necesitas agregar $${usuario.deuda - pago} mas, para poder llevarte tu compra`)
break;
case pago === usuario.deuda:
console.log(`has pagado completamente tu deuda`)
usuario.deuda = 0
pedido = []
break
case typeof pago != "number":
console.log("el valor de pago ingresado no es valido")
break
default:
console.log(`has pagado completamente tu deuda y tienes un cambio de $${pago - usuario.deuda}`)
usuario.deuda = 0
pedido = []
break;
}
}
const VERVENTAS = () => {
console.log(` las ventas realizadas fueron : `)
for (let item of restaurante.vendidos) {
restaurante.totalVentas += item.precio
console.log(`${item.codigo} - ${item.producto} - ${item.precio}`)
}
return `para un total en ventas de: ${restaurante.totalVentas}`
}