I want to display all values from array categories, but I always got [object object] or undefined. Here is code in last lines if statement, there is that problem in part between bracket [] when I want to call categories and type of categories is Object:
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 problem
You can’t concatenate an Array directly into a String; it’s simply not the way it works. Seems like you need join(), which would return another String that you can successfully concatenate into your broader string to write into the DOM:
document.getElementById('notice').innerText = "All categories included: [" + categories.join(", ") + "]";
categories is an array of objects. If you want to convert that to a string, you need to do JSON.stringify
"All categories included: " + JSON.stringify(categories);
If you only want to display the type and not the whole object, then:
"All categories included: [" + categories.map(obj => obj.type) + "]";