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

使用document.write打印对象数组仅显示[object, object]的问题

解决方法

首先确保你的筛选逻辑正确——要筛选年份与2023差值为2的车辆,应该取差值的绝对值(覆盖2021和2025两种情况),否则只会匹配单一方向的年份:

// 示例汽车数组
const carsArray = [
  { make: 'Toyota', model: 'Camry', year: 2021 },
  { make: 'Honda', model: 'Civic', year: 2023 },
  { make: 'Ford', model: 'F-150', year: 2025 },
  { make: 'Chevrolet', model: 'Malibu', year: 2020 }
];

// 正确筛选逻辑:取差值绝对值等于2
const twoYearOldCars = carsArray.filter(car => Math.abs(car.year - 2023) === 2);

然后解决document.write()显示[object Object]的问题:
直接打印包含对象的数组时,JavaScript会调用数组的toString()方法,而数组内每个对象的默认toString()返回值就是[object Object],所以会出现你看到的结果。你可以用以下两种方式输出清晰内容:

方式1:转成格式化的JSON字符串

用JSON.stringify()把数组转成人类可读的结构化字符串,还可以添加缩进参数让格式更友好:

document.write(JSON.stringify(twoYearOldCars, null, 2));

方式2:遍历数组自定义输出

如果需要更灵活的展示格式,可以遍历数组,逐个输出对象的具体属性:

twoYearOldCars.forEach(car => {
  document.write(`品牌:${car.make},型号:${car.model},年份:${car.year}<br>`);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:24:59