https://beta.freecodecamp.org/en/challenges/es6/create-strings-using-template-literals
O desafio é falhar no último teste, 'Strings de modelo foram usadas'.
Nome do navegador, versão:
Sistema operacional: FireFox 57.0 (64 bits) e Chrome versão 63.0.3239.84 (versão oficial) (64 bits)
Celular, desktop ou tablet: laptop Windows 10 Professional de 64 bits
`const resultDisplayArray = result.failure.map(x => `<li class="text-warning">${x}</li>`);`
Atualização: após alguma investigação por um de nossos campistas, parece que o branch de teste corrigiu o problema, mas não foi transferido para a versão beta.
Posso confirmar que funciona na preparação, mas acho que a descrição poderia ser um pouco mais esclarecida.
Teve um problema semelhante. Concordo com o sistematimótico. Alteração de texto nos casos de teste propostos da seguinte forma:
Atual: strings de modelo foram usadas
Proposta: strings de modelo foram usadas com map ()
Eu olhei para isso hoje, o desafio não indica que usar .map () é necessário, e eu fui capaz de resolver / completar com e sem usar .map (). Portanto, eu não acredito que isso precise de alterações?
Paul (@PolarisTLX) e Kyle (@ jklemon17)
Eu verifiquei isso recentemente usando a solução de @mstellaluna e também resolvi sem usar o mapa, como fez @PolarisTLX . Usar o mapa é provavelmente a maneira mais concisa de completar este desafio, mas acho que devemos deixar para os usuários como fazer isso. Não tenho certeza se a descrição precisa de alterações, pois o usuário é informado sobre o que a função makeList deve retornar.
Parece que map
é agora o único método de passagem na nova versão . Os 2 métodos a seguir falharam 'Strings de modelo foram usadas':
const resultDisplayArray = [
`<li class="text-warning">${arr[0]}</li>`,
`<li class="text-warning">${arr[1]}</li>`,
`<li class="text-warning">${arr[2]}</li>`
];
const resultDisplayArray = [];
for (let i = 0; i < arr.length; i++) {
resultDisplayArray.push(`<li class="text-warning">${arr[i]}</li>`)
}
@yoizfefisch , você está certo. Ambas são soluções válidas, mas não passam.
Parece que o caso de teste para literais de modelo não é bastante flexível:
getUserInput => assert(getUserInput('index').match(/\\`<li class=\"text-warning\">\\$\\{\\w+\\}<\\/li>\\`/g)
A regex não espera colchetes antes da próxima chave e suas soluções fazem com que o teste falhe. Deve ser uma correção bastante simples. Não sou o melhor com regex, mas isso deve permitir soluções diferentes como as acima:
\`<li \s*class\s*=\s*(\"\s*text-warning\s*\"|\'\s*text-warning\s*\')\s*>\s*\$\s*\{(\s*\w+\s*|\s*\w+\s*\[\s*[\w]+\s*\]\s*)\}\s*<\s*\/li\s*>\`
Não tenho certeza exatamente onde alguns caracteres teriam que ter escape duplo com duas barras como nos testes atuais, no entanto. Alguém aqui estaria interessado em atualizar este teste e enviar um PR?
Além disso, aqui está um link atualizado para o desafio em questão:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals
Também gostaria de relatar que este ainda é um problema, o mapa funciona para a solução.
Considerando que tenho o mesmo problema na versão estável do ES6 no FCC que acabou de ser implantada no início desta semana, tenho algumas dúvidas quanto ao meu código .. Alguém pode me ajudar?
Aqui está meu código: https://repl.it/repls/DizzyNiftyLocatorprogram
Push não funciona neste exercício (ou não funcionou ou a mim e parece que
outros), use o método .map para passar no teste.
Mark Kleinhaus
[email protected] [email protected]
206-234-4887
No domingo, 3 de junho de 2018 às 6h10, aenkirch [email protected] escreveu:
Considerando que tenho o mesmo problema na versão estável do ES6 no FCC
que acabou de ser implantado no início desta semana, tenho algumas dúvidas, considerando meu
código .. Alguém pode me ajudar?Aqui está meu código: https://repl.it/repls/DizzyNiftyLocatorprogram
-
Você está recebendo isso porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/16358#issuecomment-394161176 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AQdgL5WB3BsARAzpDfgyWHG8VsYm29yaks5t4-A3gaJpZM4ROiPm
.
Eles estão passando result.failure como parâmetro.
A resposta certa é
// mude o código abaixo desta linha
const resultDisplayArray = arr.map (x => <li class="text-warning">${x}</li>
);
confirmado:
const resultDisplayArray = arr.map((a) => {
return `<li class="text-warning">${a}</li>`
});
trabalho
mas
const resultDisplayArray = [
`<li class="text-warning">${arr[0]}</li>`,
`<li class="text-warning">${arr[1]}</li>`,
`<li class="text-warning">${arr[2]}</li>`
];
não funciona. E, não há menção de mapa na lição - e, mapa nem é introduzido no currículo até a seção de Programação Funcional que vem após esta seção.
@ P1xt Tendo o mesmo problema. Felizmente não sou só eu.
const result = {
success: ["max-length", "no-amd", "prefer-arrow-functions"],
failure: ["no-var", "var-on-top", "linebreak"],
skipped: ["id-blacklist", "no-dup-keys"]
};
function makeList(arr) {
"use strict";
// change code below this line
const resultDisplayArray =
[`<li class="text-warning">${arr[0]}</li>`,
`<li class="text-warning">${arr[1]}</li>`,
`<li class="text-warning">${arr[2]}</li>`];
// change code above this line
return resultDisplayArray;
}
/**
* makeList(result.failure) should return:
* [ <li class="text-warning">no-var</li>,
* <li class="text-warning">var-on-top</li>,
* <li class="text-warning">linebreak</li> ]
**/
const resultDisplayArray = makeList(result.failure);****
Estou tendo o mesmo problema
@ richa031 Como apontado acima, você precisa usar Array.map, com sua abordagem não funciona.
há algo que eu escrevi errado? e por que estamos usando a função de mapa aqui?
É uma questão boba, mas as aspas duplas também são necessárias entre a string literal quando aspas simples também deveriam ser uma solução aceitável.
Em continuação para https://github.com/freeCodeCamp/freeCodeCamp/issues/16358#issuecomment -396369730,
Eu gostaria de acrescentar que isso nem funciona:
const resultDisplayArray = [];
for (let i = 0; i < arr.length; i++) {
resultDisplayArray[i] = `<li class="text-warning">${arr[i]}</li>`
}
@kanexte obrigado
Só queria intervir e dizer que também estou tendo o mesmo problema. Fico feliz em saber que não sou eu. Espero que seja corrigido em breve.
Enfrentando o mesmo problema. Acho que terei que manter esse desafio oficialmente inacabado e seguir em frente. IM (H) O - para o escopo deste desafio, referenciar os elementos do array por seus índices é a solução mais elegante e o uso de mapas / loops confunde o código.
Eu também estou tendo este problema. Tentei usar o mapa e agora recebo um erro que diz:
React não está definido
Eu pensei que estava entendendo isso também, mas jogar o mapa aqui só torna isso desnecessariamente difícil.
como você resolveu o problema @ richa031
P1xt is rigth array.map é a chave para este desafio, mas você não deve esquecer que ele tem uma função como parâmetro
@Tirjasdyn Estou tendo o mesmo problema, a seção FCC Es6 está muito quebrada. Muito menos instruções. Nenhuma instrução de como usar map (), filter (), reduce () nos desafios anteriores também.
existe alguma solução adequada para este problema?
@ Omerdogan3 Esta não é a maneira correta, como você olha no desafio, o resultado desejado é
makeList (result.failure) deve retornar:
Estou de acordo com @scissorsneedfoodtoo que a regex no caso de teste é muito restritiva.
Não sou um gênio do regex, mas é isso que eu inventei / <li class="text-warning">\$\{[\w\[\]]+\}<\/li>
/ g (sem as barras invertidas escapadas para string). Isso permitiria ... soluções de loop que acessassem a matriz com a notação de colchetes arr [i], que parece não ser permitida com o teste de expressão regular atual.
const resultDisplayArray = arr.map ((a) => {
retorno <li class="text-warning">${a}</li>
}); ``
Ainda recebendo Invalid regular expression flags
Acabei de receber Invalid regular expression flags
Ainda estou recebendo erros de soluções corretas.
ainda obtendo os> Sinalizadores de expressão regular inválidos
Olá a todos. Obrigado por nos informar sobre esse problema em andamento. Queria apenas informar a todos que o teste de regex para este desafio foi atualizado recentemente e deve ser colocado em produção em breve.
Ainda recebendo sinalizadores de expressão regular inválidos com:
const resultDisplayArray = arr.map ((a) => {
retorno <li class="text-warning">${a}</li>
});
@ mirkocoppola80 sim, não tenho certeza da frequência com que são mesclados / compilados. Não acho que eles tenham feito isso desde 30 de maio, então estamos esperando por isso para que as alterações entrem em vigor.
Sinalizadores de expressão regular inválidos para hoje, aguardando a atualização ...
tento com map, for loops, etc, mas não encontrei uma solução. Você pode ver, talvez tenha encontrado uma ideia-chave. https://www.youtube.com/watch?v=XzExdQye1Ls
@jsparadacelis Eu sigo o código daquele vídeo, isso não funciona
Olá, ainda estou recebendo sinalizadores de expressão regular inválidos com:
const resultDisplayArray = arr.map (item => <li class="text-warning">${item}</li>
);
Ainda não está funcionando. Podemos ter uma luz aqui, por favor?
Sim, ainda não consigo encontrar uma solução de trabalho para este desafio
Recebo erro de sinalizadores de expressão regular inválidos .
const resultDisplayArray = arr.map ((msg) => {
return <li class="text-warning">${msg}</li>
;
});
Também recebo o erro de sinalizadores de expressão regular inválidos abaixo.
Ainda estou recebendo erros de sinalizadores de expressão regular inválidos .
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals/
Eu tentei com map e tudo mais e ainda recebo sinalizadores de expressão regular inválidos
Confirmado que ainda não funciona
Ainda não está funcionando, bastante frustrante
No momento, nem o método MAP nem as abordagens mais simples, porém demoradas, funcionam, mesmo erro - "Sinalizadores de expressão regular inválidos", embora os outros testes sejam aprovados
Ei, se alguém encontrar uma maneira, por favor me diga, eu não posso avançar xD (eu sei que poderia pular, mas meu TOC)
Ainda não está funcionando para mim.
Ei, eu sou apenas mais um cara para escrever que ainda não funciona.
Eu vi que isso está supostamente corrigido e ainda não implantado, mas gostaria de postar caso precise de mais informações. Confirmei a saída correta com console.log (), no entanto, minha solução não passa no teste "Strings de modelo foram usadas".
meu código:
const resultDisplayArray = arr.map(x => `<li class="text-warning">${x}</li>`);
console.log(resultDisplayArray);
saída do console:
// running test
Invalid regular expression flags
// tests completed
<li class="text-warning">no-var</li>,<li class="text-warning">var-on-top</li>,<li class="text-warning">linebreak</li>
Ainda não funciona. const resultDisplayArray = arr.map(num => '<li class="text-warning">${num}</li>');
// executando teste
Sinalizadores de expressão regular inválidos
// testes concluídos
O método do mapa ainda não funciona. Com ou sem volta.
ainda esperando por conserto
const resultDisplayArray = arr.map (val => {return <li class="text-warning">${val}</li>
});
Obtendo resultado de sinalizadores de expressão regular inválido.
const resultDisplayArray = arr.map (x => <li class="text-warning">${x}</li>
);
const resultDisplayArray = [ <li class="text-warning">${arr[0]}</li>
, <li class="text-warning">${arr[1]}</li>
, <li class="text-warning">${arr[2]}</li>
];
ambos não funcionam para mim, pensei que fosse meu código, mas parece que algo está quebrado
Tentei resolver hoje, mas ainda não funciona.
Eu tentei também com marcas de escape:
const resultDisplayArray = arr.map (x =>
<li class=\"text-warning\">${x}</li>
);
mas ainda é "Sinalizadores de expressão regular inválidos"
Eu também tentei resolvê-lo, mas continuo a obter os mesmos "Sinalizadores de expressão regular inválidos" como saída. 2 dos três testes foram aprovados, mas continuo a receber a mensagem.
const resultDisplayArray = arr.map (val => <li class="text-warning">${val}</li>
);
Também usei um loop for simples e obtive o mesmo resultado
Ainda não corrigido! 😢
sim, eu escrevi de 4 maneiras e não funciona. está quebrado. apenas pule e siga em frente
Ainda não funciona..
Mesmo problema;
const resultDisplayArray = arr.map((a) => {
return `<li class="text-warning">${a}</li>`
});
retorna o erro "sinalizadores de expressão regular inválidos"
Confirme que ainda não está funcionando.
Tentei forEach, for loop, map .. Não tenho ideia do que está acontecendo com este desafio
Sim, ainda não está funcionando. Obtendo o mesmo erro de todos os outros, "Sinalizadores de expressão regular inválidos".
Tentei com map, forEach, etc.
Funciona! Tento a mesma solução com o mapa todas as semanas e agora passou! Hooray!
Funcionou para mim também! :) Não estava funcionando ontem.
Confirmado agora funciona com
const resultDisplayArray = arr.map((msg) => {
return `<li class="text-warning">${msg}</li>`;
});
Obrigado pela correção.
Aleluya !! funciona
alleluia.finalmente funciona
isso deve funcionar sem a função de mapa, apenas usando literais de modelo normais, mas isso ensinaria como o espaço é preservado sem adicionar
tags ou & nbsp;
Abaixo você pode encontrar o código que funciona :):
const result = {
sucesso: ["max-length", "no-amd", "prefer-arrow-functions"],
falha: ["no-var", "var-on-top", "linebreak"],
ignorado: ["id-blacklist", "no-dup-keys"]
};
function makeList (arr) {
"use estrito";
// mude o código abaixo desta linha
const resultDisplayArray = [ <li class="text-warning">${arr[0]}</li>
,
<li class="text-warning">${arr[1]}</li>
,
<li class="text-warning">${arr[2]}</li>
];
// altere o código acima desta linha
return resultDisplayArray;
}
/ **
<li class="text-warning">no-var</li>
,<li class="text-warning">var-on-top</li>
,<li class="text-warning">linebreak</li>
]
Comentários muito úteis
confirmado:
trabalho
mas
não funciona. E, não há menção de mapa na lição - e, mapa nem é introduzido no currículo até a seção de Programação Funcional que vem após esta seção.