簡體   English   中英

如何在JS中顯示數組中的值?

[英]How to display values from array in JS?

我想顯示數組類別中的所有值,但我總是得到 [object object] 或未定義。 這是最后幾行 if 語句中的代碼,當我想調用類別並且類別類型為 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

你不能將一個數組直接連接成一個字符串; 這根本不是它的工作方式。 似乎您需要join() ,它將返回另一個 String ,您可以將其成功連接到更廣泛的字符串中以寫入 DOM:

document.getElementById('notice').innerText = "All categories included: [" + categories.join(", ") + "]";

categories是一個對象數組。 如果要將其轉換為字符串,則需要執行JSON.stringify

"All categories included: " + JSON.stringify(categories);

如果您只想顯示類型而不是整個 object,則:

"All categories included: [" + categories.map(obj => obj.type) + "]";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM