Quiero mostrar todos los valores de las categorías de matriz, pero siempre obtuve [objeto objeto] o indefinido. Aquí está el código en las últimas líneas si la declaración, existe ese problema en parte entre corchetes [] cuando quiero llamar a categorías y el tipo de categorías es Objeto:
const urlKeys = [...new URL(window.location.href).searchParams.keys()]; let categories = []; let count = urlKeys.length; for (let i = 0; i < count - 1; i++) { categories.push({ type: paramsFromUrl.get('category' + i) }) } //Here I push elements in categories if (urlKeys[0] === 'allCategories') { document.getElementById('notice').innerText = "All categories included: [" + categories + "]"; return viewsjs.createRestaurantCards(filterjs.findRestaurantsByCategory(await restaurantsjs.loadRestaurantsJSON(), categories)); } //Here is problemNo puede concatenar una matriz directamente en una cadena; simplemente no es la forma en que funciona. Parece que necesita join() , lo que devolvería otra cadena que puede concatenar con éxito en su cadena más amplia para escribir en el DOM:
document.getElementById('notice').innerText = "All categories included: [" + categories.join(", ") + "]";categories es una matriz de objetos. Si desea convertir eso en una cadena, debe hacer JSON.stringify
"All categories included: " + JSON.stringify(categories);Si solo desea mostrar el tipo y no todo el objeto, entonces:
"All categories included: [" + categories.map(obj => obj.type) + "]";