freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-an.../es6/use-destructuring-assignmen...

2.4 KiB
Raw Blame History

id title challengeType videoUrl localeTitle
587d7b89367417b2b2512b4b Use Destructuring Assignment to Assign Variables from Arrays 1 Use Destructuring Assignment para atribuir variáveis de matrizes

Description

O ES6 torna os arrays de desestruturação tão fáceis quanto os objetos de desestruturação. Uma diferença fundamental entre o operador de propagação e a desestruturação de matriz é que o operador de distribuição descompacta todo o conteúdo de uma matriz em uma lista separada por vírgulas. Conseqüentemente, você não pode escolher quais elementos você deseja atribuir às variáveis. Destructuring uma matriz nos permite fazer exatamente isso:
const [a, b] = [1, 2, 3, 4, 5, 6];
console.log (a, b); // 1, 2
A variável a é atribuída ao primeiro valor da matriz e b é atribuído ao segundo valor da matriz. Também podemos acessar o valor em qualquer índice em uma matriz com desestruturação usando vírgulas para alcançar o índice desejado:
const [a, b ,,, c] = [1, 2, 3, 4, 5, 6];
console.log (a, b, c); // 1, 2, 5

Instructions

Use atribuição desestruturação para trocar os valores de a e b para que a recebe o valor armazenado em b e b recebe o valor armazenado em a .

Tests

tests:
  - text: 'O valor de <code>a</code> deve ser 6, após a troca.'
    testString: 'assert(a === 6, "Value of <code>a</code> should be 6, after swapping.");'
  - text: 'O valor de <code>b</code> deve ser 8, após a troca.'
    testString: 'assert(b === 8, "Value of <code>b</code> should be 8, after swapping.");'
  - text: Use a desestruturação de matriz para trocar a e b.
    testString: '// assert(/\[\s*(\w)\s*,\s*(\w)\s*\]\s*=\s*\[\s*\2\s*,\s*\1\s*\]/g.test(code), "Use array destructuring to swap a and b.");'

Challenge Seed

let a = 8, b = 6;
(() => {
  "use strict";
  // change code below this line

  // change code above this line
})();
console.log(a); // should be 6
console.log(b); // should be 8

Solution

// solution required