Explicación de Ratón de biblioteca
Objetivo de este acertijo: Usar el método de arreglo .forEach()
para actualizar la propiedad 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 declaración import en la parte superior del código importa el arreglo bookShelf
de código adicional para que se pueda usar en el acertijo. Cada elemento en este arreglo es un object que contiene las propiedades title
, author
e isRead
. En este acertijo, usaremos .forEach()
para ejecutar funciones de devolución de llamada en el arreglo bookShelf
y actualizar la propiedad isRead
en cada object.
La función checkIfRead
imprimirá un mensaje en la consola que incluye las propiedades title
e isRead
. Usaremos esta función con .forEach()
para mostrar cómo la propiedad isRead
es actualizada por nuestra segunda función, markAsRead()
, que actualizará la propiedad a true
.
.forEach()
se llama 3 veces debajo de las declaraciones de funciones. Para completar el acertijo, agrega .forEach(markAsRead)
a la variable bookShelf
que está en su propia línea de código.
Solución del código de ejemplo:
import { bookShelf } from 'grasshopper.books';
function checkIfRead(book) {
console.log(book.title + ' has been read: ' + book.isRead);
}
function markAsRead(book) {
book.isRead = true;
}
bookShelf.forEach(checkIfRead);
bookShelf.forEach(markAsRead);
bookShelf.forEach(checkIfRead);
Conceptos de JavaScript: métodos de arreglo, .forEach()
, importaciones, declaraciones de la función
Código adicional (código oculto que se ejecuta antes del código del acertijo):
const bookShelf = [{
title: 'Eloquent JavaScript',
author: 'Marijn Haverbeke',
isRead: false
},
{
title: 'If Hemingway Wrote JavaScript',
author: 'Angus Croll',
isRead: false
},
{
title: 'JavaScript for Kids',
author: 'Nick Morgan',
isRead: false
}
];