#estaba pensando en usar un ForEach pero
1 messages · Page 1 of 1 (latest)
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?
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
Ah me falto caambiar una cosa
cual?
Dame un segundo que estoy rehaciendolo porque si no no recorre completo 🤣
That message does not appear to contain a playable link.
This context menu option requires a playable url/link to be in the message.
Ups, missclick
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
holi
me sale error
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
osea tu sabes para que salga en la consola, se pone Console.log(y lo que buscas)
puse el AvaibleShop y dice que no esta definido
Ah nono
Tienes que poner consolé.log(searchProducts(stores))
Porque es una función
Pruébalo y me dices
ahh okey
Uncaught TypeError: products.includes is not a function
at searchProducts (<anonymous>:46:22)
at <anonymous>:55:15
eso me sale
A ver tu variable stores
lo estoy haciendo en el navegador voy a probarlo en Quokka
Es que en el navegador no tienes definida la variable claro jaja
A ver tu variable stores
Ah claro, me confundí
En vez de stores le pasas el arreglo de los productos que estás buscando
Osea la ShoopingList?
Sip
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*
ok
Igual deja el problema en el general de javascript para ver si alguien más te puede ayudar 😅
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
si funciona
MAIGAD
Gracias
❤️