Executando verificação de segurança...
2

Nesse caso de fato é uma coisa que é um pouco problemática. Pois normalmente as funções que a gente desenvolve alteram arrays que são fornecidos por referência. Mas entendo a motivação da sugestão, vou pensar em algumas formas de lidar com isso.

Correto, isso é mesmo um side-effect. No entanto, é um side-effect que podemos testar. Por exemplo, passe um array para a função e depois verifique se o array contém o conteúdo esperado depois que a função for executada, assumindo que que o array resultante tem um valor deterministico.

Uma das maneiras teóricas de remover o side-effect desta função é fazê-la retornar outro array com o resultado esperado. Mas acredito que, no seu caso, não seria uma boa ideia, pois isso duplicaria o espaço em memória; esta técnica funciona melhor quando os objetos retornados são leves.

Carregando publicação patrocinada...