Freecodecamp: Desafio [Acessar matrizes multidimensionais com índices] resolver bug

Criado em 8 ago. 2016  ·  10Comentários  ·  Fonte: freeCodeCamp/freeCodeCamp

Desafie o acesso a matrizes multidimensionais com índices
tem um problema.

O agente do usuário é: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 .
Descreva como reproduzir esse problema e inclua links para capturas de tela, se possível.
Acabei de usar myData = 4 + 4 para obter myData = 8 e resolvi o desafio dessa forma, se não estou errado, isso é um bug então ...

Meu código:


// Setup
var myArray = [[1,2,3], [4,5,6], [7,8,9], [[10,11,12], 13, 14]];

// Only change code below this line.
var myData = myArray[0][0];
myData = 4 + 4;

help wanted

Comentários muito úteis

@ Pablo152 obrigado pelo problema. Você está correto, isso é uma espécie de bug. Mmm, para pegar esse tipo de código, pode ser difícil. Poderíamos adicionar dois testes:

  1. O código padrão é var myData = myArray[0][0]; portanto, poderíamos verificar se eles pelo menos mudam os zeros para outra coisa.
  2. Verifique se não há myData = <some number> ou seja, uma regex para /myData = \d/ ou algo semelhante.

cc / @ FreeCodeCamp / issue-moderators

Todos 10 comentários

@ Pablo152 obrigado pelo problema. Você está correto, isso é uma espécie de bug. Mmm, para pegar esse tipo de código, pode ser difícil. Poderíamos adicionar dois testes:

  1. O código padrão é var myData = myArray[0][0]; portanto, poderíamos verificar se eles pelo menos mudam os zeros para outra coisa.
  2. Verifique se não há myData = <some number> ou seja, uma regex para /myData = \d/ ou algo semelhante.

cc / @ FreeCodeCamp / issue-moderators

@erictleung Um ou ambos os testes podem ser combinados com o teste You should be using bracket notation to read the value from myArray para evitar adicionar confusão à área de mensagem de teste, uma vez que eles visam a mesma condição.

@erictleung Eu concordo com @BKinahan - à medida que adicionamos mais testes para resolver vários casos

@QuincyLarson @BKinahan parece bom! Acho que podemos apenas adicionar ao teste You should be using bracket notation to read the value from myArray verificando se o colchete não é myArray[0][0] . Isso deve ser suficiente para pegar este caso secundário.

@erictleung Acho que precisamos do seu teste acima e da regex mencionada para / myData = \ d / porque posso definir myData = [2] [2]; e ainda executar o código nefasto myData = 4+4 para passar no desafio. Se você concordar, tentarei atualizar o teste para verificar a alteração de myData [0] [0] e a regex.

@dhcodes parece razoável. Como @QuincyLarson mencionou, tente minimizar o número de testes que precisamos adicionar, se houver. Portanto, para regex procurando por /myData = \d/ não cobriria o caso de myData = 4 + 4 então veja se você pode contabilizar isso também. Obrigado!

@dhcodes disse que não estava trabalhando nisso, então peguei 😄

Embora a solução 4 + 4 resolva o desafio, a maneira correta de resolver com base nas instruções, "usando a notação de colchetes, selecione um elemento de myArray de modo que myData seja igual a 8", seria:

// Configuração
var myArray = [[1,2,3], [4,5,6], [7,8,9], [[10,11,12], 13, 14]];

// Altere apenas o código abaixo desta linha.
var myData = myArray [2] [1];

meuArray [2] [1];

bom tópico que eu aprendo,

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

DaphnisM picture DaphnisM  ·  3Comentários

ar5had picture ar5had  ·  3Comentários

kokushozero picture kokushozero  ·  3Comentários

robwelan picture robwelan  ·  3Comentários

imhuyqn picture imhuyqn  ·  3Comentários