-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtask07.js
43 lines (40 loc) · 1012 Bytes
/
task07.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
const almacen = {
'estanteria1': {
'cajon1': {
'producto1': 'coca-cola',
'producto2': 'fanta',
'producto3': 'sprite'
}
},
'estanteria2': {
'cajon1': 'vacio',
'cajon2': {
'producto1': 'pantalones',
'producto2': 'camiseta' // <- ¡Está aquí!
}
}
}
const otroAlmacen = {
'baul': {
'fondo': {
'objeto': 'cd-rom',
'otro-objeto': 'disquette',
'otra-cosa': 'mando'
}
}
}
function contains(store, product) {
let find = false
if (typeof store !== 'object') {
find = find || ( store === product ? true : false )
} else {
let keys = Object.keys(store)
keys.forEach(key => {
let child_store = store[key]
find = find || contains(child_store, product)
})
}
return find
}
console.log( contains(almacen, 'camiseta') ) // true
console.log( contains(otroAlmacen, 'gameboy') ) // false