Interessante seu artigo. Faltou colocar uma dica de ouro.
Para transformar um NodeList em um array é muito simples. Ao invés de:
document.querySelectorAll(meu_seletor)
faça:
[...document.querySelectorAll(meu_seletor)]
Referência: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment