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

如何将JSON数据转换为按日期分组展示分类+time1的HTML页面

按日期分组展示JSON数据的实现方案

1. 数据分组处理

先用JavaScript把原始数组按日期分组,方便后续展示:

const myArray = [
  { 'category': 'apple', 'date': '20/4/2023', 'time1': '12:30' },
  { 'category': 'banana', 'date': '20/4/2023', 'time1': '12:32' },
  { 'category': 'tv', 'date': '21/4/2023', 'time1': '12:34' },
  { 'category': 'banana', 'date': '21/4/2023', 'time1': '12:39' },
];

// 按日期分组,将相同日期的条目归为一组
const groupedByDate = myArray.reduce((result, currentItem) => {
  const dateKey = currentItem.date;
  if (!result[dateKey]) {
    result[dateKey] = [];
  }
  result[dateKey].push({
    category: currentItem.category,
    time1: currentItem.time1
  });
  return result;
}, {});

2. 生成HTML展示内容

接下来将分组后的数据渲染到页面,有两种方式可选:

方式一:用普通HTML元素构建结构

先在页面中添加一个容器:

<div id="data-display"></div>

然后编写渲染逻辑:

const displayContainer = document.getElementById('data-display');

// 遍历每个日期分组
Object.keys(groupedByDate).forEach(date => {
  // 创建日期标题行
  const dateTitle = document.createElement('div');
  dateTitle.textContent = `----------${date}-------------`;
  dateTitle.style.margin = '8px 0';
  displayContainer.appendChild(dateTitle);

  // 创建该日期下的所有条目
  const itemsWrapper = document.createElement('div');
  groupedByDate[date].forEach(item => {
    const itemLine = document.createElement('div');
    itemLine.textContent = `${item.category} ${item.time1}`;
    itemsWrapper.appendChild(itemLine);
  });
  displayContainer.appendChild(itemsWrapper);
});

方式二:用pre标签模拟纯文本格式

如果想要完全匹配你给出的纯文本样式,用pre标签更方便:

<pre id="text-display"></pre>

渲染逻辑:

const textDisplay = document.getElementById('text-display');
let displayContent = '';

// 拼接文本内容
Object.keys(groupedByDate).forEach(date => {
  displayContent += `----------${date}-------------\n`;
  groupedByDate[date].forEach(item => {
    displayContent += `${item.category} ${item.time1}\n`;
  });
});

textDisplay.textContent = displayContent;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:57:18