Uma sugestão para deixar mais performático seria substituir os 3 .maps por um .reduce e desestruturar os dados no retorno do reduce.
Assim o array seria iterado uma única vez e não três.
Estou no celular, a idéia seria algo como:
const { ids, nomes, senhas } = pagina1.reduce((data, item) => {
// passa os dados pra dentro de cada propriedade do data
}, {
ids: [],
nomes: [],
senhas: []
})
Boa, não tinha pensado nisso, procurava uma solução e eu estava usando Object.Values para conseguir.