Explicación de Dale forma
Objetivo de este acertijo: Usar .length - 1
para cambiar el último valor en un arreglo.
Tutorial de la solución: El uso de .length
en un arreglo devolverá el número de elementos en el arreglo. Por ejemplo:
let animals = ['dogs', 'cats', 'frogs', 'turtles'];
console.log(animals.length);
console.log()
imprimirá 4
, ya que hay 4 elementos en el arreglo animals
.
Debido a que los arreglos se indexan a partir de 0
, el índice del último elemento en un arreglo siempre será 1 menos que la longitud del arreglo. Para acceder directamente al último elemento, podemos usar .length -1
.
Por ejemplo:
let doughnuts = [jelly, glazed];
let lastItem = doughnuts.length - 1
doughnuts
tiene una longitud de 2, y el índice del último elemento 'glazed'
es 1
.
let cookies = ['chocolate chip', 'oatmeal raisin', 'snickerdoodle'];
let lastItem = cookies.length - 1
cookies
tiene una longitud de 3, y el último 'snickerdoodle'
está en el índice 2
.
En este rompecabezas, la función setLastValue
deberá tomar un arreglo y un string, y reemplazará el último elemento en el arreglo con el string.
Para comenzar, agrega 2 parámetros a la función al pulsar el subrayado entre el paréntesis ()
y mostrar el teclado. Asignar a los parámetros nombres como values
y newLastValue
.
Dentro del bloque de código {}
de la función, crea una variable para almacenar el último índice del arreglo:
let lastIndex = values.length - 1;
En la siguiente línea, usa la variable para definir el último elemento en el arreglo en el nuevo valor:
values[lastIndex] = newLastValue;
Por último, llama a la función en la parte inferior del código para reemplazar el último elemento en shapes
con 'hexagon'
.
Solución del código de ejemplo:
import { shapes } from 'grasshopper.shapes';
function setLastValue(values, newLastValue) {
let lastIndex = values.length - 1;
values[lastIndex] = newLastValue;
}
setLastValue(shapes,'hexagon');
for (let item of shapes) {
console.log(item);
}
Conceptos de JavaScript: arreglos, .length
, importaciones, funciones, consola
Código adicional (código oculto que se ejecuta antes del código del rompecabezas):
let shapes = ['triangle','square','pentagon','circle'];