Matriz com funções anônimas em JavaScript

Já mencionei anteriormente que funções em JavaScript se comportam como strings ou números. Em particular, é possível criar uma matriz composta por funções. Vamos criar:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

Vamos, por exemplo, exibir no console o conteúdo do elemento de índice zero da matriz:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

console.log(arr[0]); // veremos o código fonte da primeira função

Como você pode ver, no exemplo acima nós obtemos o código fonte da função, e não o resultado.

Para que a função seja chamada, é necessário adicionar parênteses após ela. Como nossa função está armazenada em arr[0], os parênteses precisam ser escritos após os colchetes, assim: arr[0](). Vamos testar:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

arr[0](); // exibirá '1'

Também podemos percorrer nossa matriz de funções com um loop e, nesse loop, chamar cada uma das funções:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

for (let func of arr) {
  func(); // chamamos nossas funções no loop
}
Задание 1

Crie uma matriz arr com três funções. Deixe a primeira retornar via return o número 1, a segunda - o número 2, a terceira - o número 3.

Задание 2

Usando a matriz arr que você criou, exiba no console o número 3, chamando a função correspondente.

Задание 3

Usando a matriz arr que você criou, encontre a soma dos resultados das funções (sem usar loop).

Задание 4

Percorra a matriz arr que você criou com um loop e exiba os resultados de todas as funções no console.