Freecodecamp: Desafío [Acceder a matrices multidimensionales con índices] Solución de errores

Creado en 8 ago. 2016  ·  10Comentarios  ·  Fuente: freeCodeCamp/freeCodeCamp

Desafíe el acceso a matrices multidimensionales con índices
tiene un problema.

El agente de usuario es: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 .
Describa cómo reproducir este problema e incluya vínculos a capturas de pantalla si es posible.
Solo usé myData = 4 + 4 para obtener myData = 8 y resolví el desafío de esa manera, si no me equivoco, eso es un error, así que ...

Mi 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

Comentario más útil

@ Pablo152 gracias por el problema. Tienes razón, esto es una especie de error. Mmm para captar este tipo de código, podría ser difícil. Podríamos agregar dos pruebas:

  1. El código predeterminado es var myData = myArray[0][0]; para que podamos comprobar que al menos cambian los ceros a otra cosa.
  2. Compruebe que no haya myData = <some number> es decir, una expresión regular para /myData = \d/ o algo similar.

cc / @ FreeCodeCamp / issue-moderators

Todos 10 comentarios

@ Pablo152 gracias por el problema. Tienes razón, esto es una especie de error. Mmm para captar este tipo de código, podría ser difícil. Podríamos agregar dos pruebas:

  1. El código predeterminado es var myData = myArray[0][0]; para que podamos comprobar que al menos cambian los ceros a otra cosa.
  2. Compruebe que no haya myData = <some number> es decir, una expresión regular para /myData = \d/ o algo similar.

cc / @ FreeCodeCamp / issue-moderators

@erictleung Una o ambas de esas pruebas podrían combinarse con la prueba You should be using bracket notation to read the value from myArray para evitar agregar desorden al área de mensajes de prueba, ya que apuntan a la misma condición.

@erictleung Estoy de acuerdo con @BKinahan : a medida que agregamos más pruebas para abordar varios casos de esquina que surgen, los colocamos detrás de la menor cantidad de pruebas posible para evitar intimidar a los campistas con una pared de pruebas.

@QuincyLarson @BKinahan ¡ suena bien! Creo que podemos agregar a la prueba You should be using bracket notation to read the value from myArray comprobando que el corchete no es myArray[0][0] . Eso debería ser suficiente para captar este caso de esquina.

@erictleung Creo que necesitamos tanto su prueba anterior como la expresión regular antes mencionada para / myData = \ d / porque puedo establecer myData = [2] [2]; y aún ejecutar el código nefasto myData = 4+4 para pasar el desafío. Si está de acuerdo, intentaré actualizar la prueba para comprobar si hay un cambio en myData [0] [0] y en la expresión regular.

@dhcodes suena razonable. Como ha mencionado @QuincyLarson , trate de minimizar la cantidad de pruebas que necesitamos agregar, si corresponde. Entonces, para expresiones regulares, buscar /myData = \d/ no cubriría el caso de myData = 4 + 4 así que vea si puede explicarlo también. ¡Gracias!

@dhcodes dijo que no estaba trabajando en esto, así que lo agarré 😄

Si bien la solución 4 + 4 resuelve el desafío, la forma correcta de resolver según las instrucciones, "usando la notación entre corchetes, seleccione un elemento de myArray de modo que myData sea igual a 8", sería:

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

// Solo cambia el código debajo de esta línea.
var myData = myArray [2] [1];

myArray [2] [1];

bonito tema que aprendo,

¿Fue útil esta página
0 / 5 - 0 calificaciones