Quiero que verifique y luego agregue un libro si no existe. Tengo problemas para acceder a la parte index('Horror').
const bookMap = { 'Horror' => [{ id: 9798721052927, title: 'Dracula', author: 'Brahm Stoker' }], 'Romance' => [{ id: 9798721052927, title: 'Love Story', author: 'Brahm Stoker' }] } bookMap.get('Horror').filter(e => e.title === 'Dracula')El => para objetos se usa en PHP, no en JavaScript. JavaScript utiliza : .
Para acceder al valor, usa ['name'] o .name .
const bookMap = { 'Horror': [{ id: 9798721052927, title: 'Dracula', author: 'Brahm Stoker' }], 'Romance': [{ id: 9798721052927, title: 'Love Story', author: 'Brahm Stoker' }] }; let books = bookMap.Horror.filter(e => e.title === 'Dracula'); console.log(books);Su objeto no es un objeto javascript válido. La forma correcta:
const bookMap = { 'Horror': [ { id: 9798721052927, title: 'Dracula', author: 'Brahm Stoker' } ], 'Romance': [ { id: 9798721052927, title: 'Love Story', author: 'Brahm Stoker' } ] } // then // access like this console.log(bookMap.Horror.filter(e => e.title === 'Dracula')) // or this console.log(bookMap["Horror"].filter(e => e.title === 'Dracula')) .as-console-wrapper { max-height: 100% !important; top: 0; }Como desea agregar si esos artículos no están disponibles, puede hacer lo siguiente
let bookMap = { 'Romance': [{ id: 9798721052927, title: 'Love Story', author: 'Brahm Stoker' }] }; Object.keys(bookMap).forEach(function(key) { if (key !== 'Horror') { bookMap['Horror'] = [{ id: 9798721052927, title: 'Dracula', author: 'Brahm Stoker' }] } }); console.log(bookMap)