Obviamente, esse desafio seria trivial com funções e bibliotecas separadas, portanto elas não são permitidas. Seu código deve estar em conformidade com uma especificação ECMAscript (qualquer especificação serve), portanto, nenhuma resposta específica do navegador. A matriz deve estar acessível...