Movie Marathon es-419 Explainer

Explicador de Maratón de películas

Objetivo de este acertijo:
Usar el método de arreglo .forEach() para cambiar el valor de cada elemento en un arreglo.

Tutorial de la solución:
El método de arreglo .forEach() toma una función como un argumento (también conocido como función de devolución de llamada), e itera por un arreglo usando cada elemento como el argumento para la devolución de llamada.

La primera línea de código importa un arreglo de objects del código adicional, movieQueue, para que se pueda usar en este acertijo. Cada object en movieQueuetiene una propiedadtitley una propiedadhasWatched. La propiedad hasWatched` de cada elemento es falsa.

A continuación, se declara la función checkIfSeen. Toma un argumento, movie, e imprime sus propiedades title y hasWatched en la consola. Esta función se usa como una devolución de llamada en dos métodos .forEach() más adelante en nuestro código.

Debajo de la función checkIfSeen, se declara la función markAsWatched. Toma un argument, movie, y define su propiedad en hasWatched como verdad. Usaremos esta función como un argumento para un método .forEach() que agregaremos a nuestro código.

En este acertijo, usarás el método .forEach() y la función markAsWatched para cambiar la propiedad hasWatched de los elementos en movieQueue de falso a verdadero.

Para completar el acertijo, agrega el método .forEach(markAsWatched) después de movieQueue que está solo en su propia línea. Ahora, todas las propiedades hasWatched de los elementos en movieQueue serán verdaderas. Los métodos anteriores y finales .forEach(checkIfSeen) nos permiten ver que la propiedad hasWatched de cada elemento ha cambiado de falso a verdadero.

Solución del código de ejemplo:
(Pulsa a continuación para revelar)

import { movieQueue } from 'grasshopper.movies';

function checkIfSeen(movie) {
  console.log('Watched ' + movie.title + ': ' + movie.hasWatched);
}

function markAsWatched(movie) {
  movie.hasWatched = true;
}

movieQueue.forEach(checkIfSeen);
movieQueue.forEach(markAsWatched);
movieQueue.forEach(checkIfSeen);

Conceptos de JavaScript: métodos de arreglo, .filter(), objects, declaraciones de la función, importaciones,
Código adicional (código oculto que se ejecuta antes del código del acertijo):

const movieQueue = [{
    title: 'HopGun',
    hasWatched: false
},
{
    title: 'Hoppy Gilmore',
    hasWatched: false
},
{
    title: 'Mission Im-hop-ible',
    hasWatched: false
}
];

1 Like