Subsequence pt-br Explainer

Explicação de Subsequência

Objetivo do desafio: Criar uma função que determina se uma string é uma subsequência de um objeto Map a partir de uma string separada.
Passo a passo da solução: A função isSubsequence() servirá como auxiliar para a função que você criará no último desafio deste curso. Para um passo a passo da solução, dê uma olhada na lição que precede este desafio, ‘Atualização da pesquisa de palavras’

isSubsequence() pegará uma string e um objeto Map e retornará true ou false dependendo se a string é uma subsequência do objeto Map.

Vamos analisar um exemplo que compara a string 'boon' com uma forma mapeada da string 'balloon':

let word = 'boon';
let mappedObject = {
  b: [0],
  a: [1],
  l: [2, 3],
  o: [4, 5],
  n: [6]
}
isSubsequence(word, mappedObject)

Isso deve retornar true, porque ‘boon’ é uma subsequência do ‘balloon’. Todas as letras em ‘boon’ aparecem em balloon e estão na mesma ordem.

Este desafio pode ser o mais complicado do curso! Deixe qualquer dúvida que você tenha abaixo, junto com capturas de tela de seu código, e nosso pessoal pode ajudá-lo a encontrar a solução.

Mais uma vez, dê uma olhada também na lição que precede este desafio, que decomporá a função passo a passo.

Boa sorte, Gafanhotos!
Código Adicional (código oculto executado antes do código do desafio):
[detalhes]

let dictionaryWord = pickRandom(['lull', 'hub', 'boo', 'quack', 'balloon', 'hall']);

function findNextIndex(mappedIndices, lastMatchedIndex) {
   for (let index of mappedIndices) {
      if (index >= lastMatchedIndex) {
         return index + 1;
      }
   }
   return false;
};

function makeMap(string) {
   let map = {};
   for (let i = 0; i < string.length; i++) {
      map[string[i]]
         ? map[string[i]].push(i)
          : map[string[i]] = [i];
   }
   return map;
};

let stringSequence ='hullaballoo';

[/details]

1 Like

socorro, não consigo sair dessa de nenhum jeito

1 Like

Eu consegui fazer esse da subsequência o segundo print é o começo do código e o primeiro print é o final.



2 Likes

Boa tarde, alquem pode me ajudar?
estou vendo que a soluçâo do exemplo esta igual a minha soluçâo
porque mesmo assim esta dando erro?
segue o print:

Tenta refazer ele
As vezes colocou algo no lugar errado

A forma que eu fiz ficou assim

1 Like

Oi Renan, tenta isso!

cara,adicionar outro return false

marquei a pessoa desculpa,era pro @Renan_Lobo

1 Like

vc pode me ajudar?

Olá Tamires, eu fiz desta forma e deu certo…
O exercício está pedindo para vc adicionar um novo código, ou seja, além dos que já estão prontos, deverá adiconar uma terceira linha de codificação.