Tengo datos de libros. Me gustaría devolver los libros si coinciden con la identificación del autor. Cuando trato de filtrar datos que no coinciden con mi identificación de 'autor'. Sin embargo, siempre devuelve todos los datos del libro.
const author = "AUTHOR#e9bb9d29-7f20-4fce-892c-6a155dbee42c"; const Book = [ { publishingYear: "2020", rating: 5.2, GSI1SK: "AUTHOR#a731ea70-f3f3-4811-9734-f22c0856385d", genre: ["adventure", "drama", "scifi"], GSI1PK: "AUTHOR", page: 100, publisher: "Afternoon pub", SK: "BOOK#c4a58f20-4977-4db8-9723-0185f68cdf01", price: "3.50", PK: "BOOKS", author: "Krishna", title: "Me and mySelf" }, { publishingYear: "2020", rating: 5.2, GSI1SK: "AUTHOR#6b7c10ff-0e2c-46bd-9697-3b51730d8b29", genre: ["adventure", "drama", "scifi"], GSI1PK: "AUTHOR", page: 100, publisher: "Day pub", SK: "BOOK#e4773a32-5451-42c6-a3f1-a6aa45176256", price: "3.50", PK: "BOOKS", author: "John doe", title: "Hello world" }, { publishingYear: "2020", rating: 5.2, GSI1SK: "AUTHOR#a731ea70-f3f3-4811-9734-f22c0856385d", genre: ["adventure", "drama", "scifi"], GSI1PK: "AUTHOR", page: 100, publisher: "Night Pub", SK: "BOOK#fb56a876-41bc-49f9-9762-c48e90af3117", price: "3.50", PK: "BOOKS", author: "Krishna", title: "Amazing Race" } ]; const Books = Book.filter((i) => { console.log(i.GSI1SK); i.GSI1SK === author; return i; }); console.log(Books);Está utilizando el filtro de manera incorrecta, debe devolver verdadero o falso según la condición que está haciendo coincidir,
const Books = Book.filter((i) => { console.log(i.GSI1SK); return i.GSI1SK === author; });Y puedes omitir líneas innecesarias. Prueba esto.
const Books = Book.filter(i => i.GSI1SK === author)