const cards = [ {gaps: ["science", "education"]}, {gaps: ["weapon"]}, {gaps: ["figures", "character"]}, {gaps: ["figures", "education"]}, ] function filter({})Ayuda, hay una matriz al llamar al filtro (), esto debería devolver 5 grupos a la consola
enter code here educación"]}, {lagunas: ["cifras", "educación"]} - educaciónUsando Array#reduce , itere sobre cards mientras actualiza un Map donde la key es el espacio y el value es la lista de objetos que tienen este espacio en su matriz de espacios.
En cada iteración, iteraría sobre las gaps usando Array#forEach y actualizaría el Mapa:
const cards = [ {gaps: ["science", "education"]}, {gaps: ["weapon"]}, {gaps: ["figures", "character"]}, {gaps: ["figures", "education"]} ]; const gapsMap = cards.reduce((map, { gaps = [] }) => { gaps.forEach(gap => map.set(gap, [...(map.get(gap) || []), {gaps: [...gaps]}])); return map; }, new Map); console.log([...gapsMap]); console.log(gapsMap.get("education"));