Interseção de dois dicionários

Escreva uma função que receba dois objetos diferentes. Em cada um, mantenha apenas as chaves que existam nas duas entradas, preservando os valores originais daquele objeto. Retorne os dois objetos filtrados na mesma ordem dos argumentos.

Exemplos

intersection({"a": 5, "b": 13, "c": 7}, {"b": 5, "c": 8, "d": 91, "e": 99}) // [{"b": 13, "c": 7}, {"b": 5, "c": 8}]

intersection({"a": 5, "b": 13, "c": 7}, {"c": 9, "d": 8}) // [{"c": 7}, {"c": 9}]

intersection({"a": 1, "b": 34}, {"c": 9, "d": 8}) // [{}, {}]

Observações

Se nenhuma chave for compartilhada, retorne dois objetos vazios.