El problema está en el título. Contexto: tengo una API a la que accedo con Fetch.
fetch(apiUrl) .then( (data) => { if(data.ok){ return data.json() } throw new Error('Response not ok.'); }) .then( player => generateHtml(player)) .catch( error => console.error('Error:', error))Pero quiero mostrar el contenido de la API en el archivo HTML. Lo resolví así.
const generateHtml = (data) => { console.log(data) const html = ` <h2 class="" >${data.profiles.028304b866cc47d18c08e902edfcb4c6.data.display_name}</h2> <div class="name">${data.profiles.028304b866cc47d18c08e902edfcb4c6.cute_name}</div> <div class="armor">${data.profiles.028304b866cc47d18c08e902edfcb4c6.items.armor_set}</div> <div>Rarity: ${data.profiles.028304b866cc47d18c08e902edfcb4c6.items.armor_set_rarity}</div> ` const playerprofilebox = document.querySelector('#object') playerprofilebox.innerHTML = htmlPero como puede ver, el elemento después de los perfiles comienza con un número, pero no puedo eliminar el número porque entonces la API ya no accedería a los datos correctos. ¿Alguna sugerencia?
Debido a que comienza con un número, debe acceder a él con la notación de paréntesis:
var obj = { '0123abc': 10, '4567def': 20 }; console.log(obj['0123abc']); // 10 console.log(obj.0123abc); //SyntaxError ``