You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中显示数组值?解决categories数组输出[object object]问题

问题根因

categories数组中存储的都是{ type: 分类值 }格式的对象,JS中直接将对象和字符串拼接时,会自动调用对象的toString()方法,输出结果自然就是[object Object]。

修复方案
  • 如果仅需在页面提示中展示分类取值,可修改notice的赋值逻辑,提取对象内的type属性再做拼接:
// 方案1:直接序列化整个数组,保留完整对象结构
document.getElementById('notice').innerText = "All categories included: " + JSON.stringify(categories);

// 方案2:仅提取分类值拼接,展示效果更简洁
const categoryValues = categories.map(item => item.type).join(', ');
document.getElementById('notice').innerText = "All categories included: [" + categoryValues + "]";
  • 若后续调用的filterjs.findRestaurantsByCategory方法要求入参为分类字符串数组,可直接修改categories的构造逻辑,不需要给值套一层对象:
// 循环内直接push分类值,不要包对象结构
categories.push(paramsFromUrl.get('category' + i))
额外注意

你当前的循环判定条件为i < count - 1,会跳过最后一个参数对应的分类值,如果你需要遍历所有参数对应的分类,建议修改为i < count避免漏取,也能解决部分场景下输出undefined的问题。

内容的提问来源于stack exchange,提问作者Stephen K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:45:08