Como filtrar a matriz quando o valor da chave do objeto está na matriz

Eu tenho um modelo de matriz como abaixo:

records:[{
    "empid":1,
    "fname": "X",
    "lname": "Y"
},
{
    "empid":2,
    "fname": "A",
    "lname": "Y"
},
{
    "empid":3,
    "fname": "B",
    "lname": "Y"
},
{
    "empid":4,
    "fname": "C",
    "lname": "Y"
},
{
    "empid":5,
    "fname": "C",
    "lname": "Y"
}
]

Agora eu tenho uma variedade de empid's[1,4,5].

Então agora eu preciso filtrar a primeira matriz que contém todas as chaves no meu segundo.

Resultado:

records:[{
    "empid":1,
    "fname": "X",
    "lname": "Y"
},
{
    "empid":4,
    "fname": "C",
    "lname": "Y"
},
{
    "empid":5,
    "fname": "C",
    "lname": "Y"
}
]

Eu posso fazer isso usando umforEach loop inangular mas como tenho mais de 100 registros no meu objeto de modelo. Eu preciso de uma sugestão sobre como lidar com isso de uma maneira muito melhor.

Estou pensando em criar um filtro personalizado, mas qual é a sua opinião sobre ele (se sim, forneça um código de exemplo para isso).

Sua ajuda é apreciada.

Obrigado.

questionAnswers(4)

yourAnswerToTheQuestion