Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

108
Vistas
Acceder a valores booleanos dentro de objetos en una matriz

Hola, soy un principiante que aprende javascript (esta es mi primera pregunta) y he pasado horas tratando de resolver lo siguiente. No puedo encontrar una respuesta en línea, por lo que cualquier ayuda sería muy apreciada :)

Tengo una lista de libros que son objetos dentro de una matriz. Las propiedades son el nombre (el valor es una cadena) y si el libro es el más vendido o no (el valor es un valor booleano). Vea abajo

 const books = [ { name: 'Book 1', bestSelling: true,}, { name: 'Book 2', bestSelling: false,}, { name: 'Book 3', bestSelling: true,}, ];

Lo que intento hacer es acceder a los valores más vendidos de la matriz. En primer lugar, ¿cómo haría esto?

En segundo lugar, ¿cómo escribiría una función que, si hubiera al menos un libro que no fuera el más vendido, devolvería falso en general, y si todos los artículos dentro de la matriz fueran los más vendidos, devolvería verdadero?

Se me ocurrió lo siguiente, pero no parece funcionar:

 let won = 0 for (let i = 0; i> books.length; i++) { if (books[I].bestSeller === false) { return false; } } return true; }

¿Algunas ideas? Gracias por adelantado.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Use books[index].bestSelling para acceder a los booleanos y puede usar Array#every() para verificar si todos los libros son los más vendidos; devuelva true ; de lo contrario, devuelva false .

 const books = [ { name: 'Book 1', bestSelling: true}, { name: 'Book 2', bestSelling: false}, { name: 'Book 3', bestSelling: true} ]; //accessing booleans books[i].bestSelling eg console.log( books[0].bestSelling ); //function to return true only if all books are best selling function isBestSeller(books) { return books.every(book => book.bestSelling); } console.log( isBestSeller( books ) );

NOTA:

return books.every(book => book.bestSelling); es equivalente a:

 return books.every(function(book) { return book.bestSelling; });

Y toda la función se puede reescribir como:

 const isBestSeller = books => books.every(book => book.bestSelling);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Lo que intento hacer es acceder a los valores más vendidos de la matriz. En primer lugar, ¿cómo haría esto?

Puede lograrlo mediante el uso del método Array.filter() .

 const books = [ { name: 'Book 1', bestSelling: true,}, { name: 'Book 2', bestSelling: false,}, { name: 'Book 3', bestSelling: true,}, ]; const bestSellingBooks = books.filter((obj) => obj.bestSelling); console.log(bestSellingBooks);

En segundo lugar, ¿cómo escribiría una función que, si hubiera al menos un libro que no fuera el más vendido, devolvería falso en general, y si todos los artículos dentro de la matriz fueran los más vendidos, devolvería verdadero?

Puede lograr esto usando el método Array.some() .

 const books = [ { name: 'Book 1', bestSelling: true,}, { name: 'Book 2', bestSelling: false,}, { name: 'Book 3', bestSelling: true,}, ]; const bestSellingBooks = books.some((obj) => !obj.bestSelling); console.log(bestSellingBooks ? false : true);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda