Combinador

Crie uma função que, dado um array de arrays de strings, retorne um array com todas as combinações na forma de strings concatenadas.

  1. A função é chamada com um array de arrays contendo strings.
  2. A tarefa consiste em combinar cada string de cada array com cada string dos demais arrays.
  3. Se um dos arrays de strings estiver vazio, a função retornará um array vazio.

A função aceitará um segundo parâmetro opcional do tipo string. Esse parâmetro, se especificado, deverá ser usado para combinar duas strings.

Exemplos

combinator([["a", "b"], ["c", "d"]]) ➞ ["ac", "ad", "bc", "bd"]

combinator([["a", "b"]]) ➞ ["a", "b"]

combinator([["a", "b"], ["c", "d"]]) ➞ ["ac", "ad", "bc", "bd"]

combinator([[]]) ➞ []

Observações

  • A ordem das strings fornecidas deve ser mantida nas combinações.
  • Você pode presumir que:
    • A função sempre é chamada com um array de arrays de strings, e os arrays podem estar vazios.