freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-an.../es6/create-strings-using-templa...

3.7 KiB
Raw Blame History

id title challengeType videoUrl localeTitle
587d7b8a367417b2b2512b4e Create Strings using Template Literals 1 Criar strings usando modelos literais

Description

Um novo recurso do ES6 é o literal do modelo . Este é um tipo especial de string que facilita a criação de strings complexas. Literais de modelo permitem criar strings de várias linhas e usar recursos de interpolação de strings para criar strings. Considere o código abaixo:
const pessoa = {
nome: "Zodíaco Hasbro",
idade: 56 anos
};

// Template literal com multi-linha e interpolação de string
const greeting = `Olá, meu nome é $ {person.name}!
Tenho $ {person.age} anos de idade.

console.log (saudação); // prints
// Olá, meu nome é Zodíaco Hasbro!
// Eu tenho 56 anos.
Muitas coisas aconteceram lá. Em primeiro lugar, o exemplo usa backticks ( ` ), não aspas ( ' ou " ), para envolver a string. Em segundo lugar, observe que a string é multilinha, tanto no código quanto na saída. Isso salva a inserção \n dentro de strings. A sintaxe ${variable} usada acima é um marcador de posição. Basicamente, você não precisará mais usar a concatenação com o operador + Para adicionar variáveis a strings, basta soltar a variável em uma string de template e envolvê-la com ${ e } . da mesma forma, você pode incluir outras expressões em sua string literal, por exemplo ${a + b} . Esta nova forma de criar strings lhe dá mais flexibilidade para criar cordas robustas.

Instructions

Use a sintaxe literal de modelo com backticks para exibir cada entrada da matriz de failure do objeto de result . Cada entrada deve ser agrupada dentro de um elemento li com o text-warning atributo de classe e listada no resultDisplayArray .

Tests

tests:
  - text: <code>resultDisplayArray</code> é uma matriz contendo mensagens de <code>result failure</code> .
    testString: 'assert(typeof makeList(result.failure) === "object" && resultDisplayArray.length === 3, "<code>resultDisplayArray</code> is a list containing <code>result failure</code> messages.");'
  - text: <code>resultDisplayArray</code> é a saída desejada.
    testString: 'assert(makeList(result.failure).every((v, i) => v === `<li class="text-warning">${result.failure[i]}</li>` || v === `<li class="text-warning">${result.failure[i]}</li>`), "<code>resultDisplayArray</code> is the desired output.");'
  - text: Sequências de modelos foram usadas
    testString: 'getUserInput => assert(getUserInput("index").match(/`.*`/g), "Template strings were not used");'

Challenge Seed

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 = null;
  // 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);

Solution

// solution required