tengo un objeto:
a = { "1": "abc", "2": "def", "3": "ghi", "4": "jkl" }
y una matriz: b = ['abc','ghi']
Quiero obtener claves de los objetos cuyos valores están en una matriz y colocarlos en otra matriz, por lo que el resultado esperado es: ['1', '3']
.
No tengo idea de cómo filtrar las propiedades de los objetos. Intenté mapear una matriz y obtener valores, pero no estoy definido.
const result = b.map(v => a[v])
Podría usar Object.keys(a).filter(...)
, y solo devolver verdadero si a[key]
está en la matriz b
.
Use filter()
en Object.keys()
:
const a = {"1": "abc", "2": "def", "3": "ghi", "4": "jkl"}; const b = ['abc','ghi'] const c = Object.keys(a).filter(k => b.includes(a[k])); console.log(c);