#estaba pensando en usar un ForEach pero

1 messages · Page 1 of 1 (latest)

leaden jungle
#

Buenas @misty meteor

#

Lo que buscas es que retorne un objeto en el cual muestre las tienes dan las que se encuentren los productos que se manden por parametro cierto?

misty meteor
#

hola

#

sip

leaden jungle
#

Solo quieres que te retorne el nombre de la tienda?

#

O la cantidad de productos?

misty meteor
#

las 2

#

seria de mucha ayuda

leaden jungle
#

Ok

#
const searchProducts = (products) => {
  let availableShops = {}
  
  for (const [key, value] of Object.entries(stores)) {
      products.forEach(producto => {
        if (value[producto]) availableShops[key] = value[producto]
      })
    }    
return availableShops
}
#

Te tengo esta opción, no considero que sea la mas optima por los dos bucles anidados pero te funcionará

#

Prueba y me cuentas

misty meteor
#

ok

#

ya prueba y te digo

leaden jungle
#

Ah me falto caambiar una cosa

misty meteor
#

cual?

leaden jungle
#

Dame un segundo que estoy rehaciendolo porque si no no recorre completo 🤣

misty meteor
#

jajajajaj tranqui

#

yo estoy batallando en el Quoka

harsh oreBOT
#

That message does not appear to contain a playable link.
This context menu option requires a playable url/link to be in the message.

leaden jungle
#

Ups, missclick

leaden jungle
# misty meteor yo estoy batallando en el Quoka
const searchProducts = (products) => {
  let availableShops = {}
  const map = new Map()
    for (const [k, v] of Object.entries(stores)) {
      
      for (const vDes of Object.entries(v)) {
        
      if (products.includes(vDes[0])) {
        map.set(vDes[0],vDes[1])
        availableShops[k] = Object.fromEntries(map)
      }
      }   
  }
  return availableShops
}
#

Creo que así queda como querías

misty meteor
#

holi

misty meteor
#

intente con este para identificar cuales stores eran iguales y cuales no

#

const result = {};

Object.entries(stores).forEach(([k, e]) => {
let bool = Object.keys(e).every((item) => shoppingList.includes(item));
result[k] = bool;
});

console.log(result);

#

funciona, solo me falta determinar cuantos productos se puede comprar en los stores, de la shooping list

leaden jungle
#

A mí me funciona jaja

misty meteor
#

puse el AvaibleShop y dice que no esta definido

leaden jungle
#

Ah nono

#

Tienes que poner consolé.log(searchProducts(stores))

#

Porque es una función

#

Pruébalo y me dices

misty meteor
#

ahh okey

#

Uncaught TypeError: products.includes is not a function
at searchProducts (<anonymous>:46:22)
at <anonymous>:55:15

#

eso me sale

leaden jungle
#

A ver tu variable stores

misty meteor
#

lo estoy haciendo en el navegador voy a probarlo en Quokka

leaden jungle
#

Es que en el navegador no tienes definida la variable claro jaja

misty meteor
#

sale con un problema en el if

leaden jungle
#

A ver tu variable stores

misty meteor
leaden jungle
#

Ah claro, me confundí

#

En vez de stores le pasas el arreglo de los productos que estás buscando

misty meteor
#

Osea la ShoopingList?

leaden jungle
#

Sip

misty meteor
#

LISTOOO

#

si salio

#

jajajajaja

#

GRacias

leaden jungle
#

😅

#

No hay de que

misty meteor
#

me acaban de decir que, la idea es que se muestren todos los productos de cada Store y que al lado de cada producto aparezca un False si no hace parte de los productos que se buscan en el Shooping list y True si son

#

pero con ForEach

#

ya hice el cambio de for a ForEach

#

que seria que le añado para que haga la instruccion'

#

?

#

la funcion*

leaden jungle
#

Pues habría que cambiar varias cosas

#

En un rato te doy una mano con eso

misty meteor
#

ok

leaden jungle
#

Igual deja el problema en el general de javascript para ver si alguien más te puede ayudar 😅

misty meteor
#

ok

leaden jungle
# misty meteor ok
const searchProducts = (products) => {
    let availableShops = {}
    let map = new Map()
      Object.entries(stores).forEach(([k, v]) => {
        for (const vDes of Object.entries(v)){
                    let tempValue = {
            "Stock": vDes[1],
            "Exist": false
          }
        if (products.includes(vDes[0]))
        {
          tempValue["Exist"] = true          
          
        }
          map.set(vDes[0], tempValue)
          availableShops[k] = Object.fromEntries(map)
        }
      })
      return availableShops
    }
#

Prueba eso

misty meteor
#

MAIGAD

#

Gracias

#

❤️

misty meteor
#

una ultima cosa

#

si yo quisiera que los productos fueran los que dijeran cuales Stores no venden los mismo como haria?

#

osea que ellos digan tipo mani: olimpica, exito, otro...

#

que muestren donde se venden

#

uno podria usar el mismo codigo, (osea este utlimo)?