vue.js处理数组对象中某个字段是否变为两个字段

一、场景:

产品要求做一个时间步骤条,使用目前后端已返回的数据进行操作实现。时间步骤条要求日期和时间分开显示且相同日期只显示第一个日期。

图左边为实现效果,右边为后台返回的接口。接口中current 字段表示当前到达第几步,从0开始,对应显示数组的前几个展示。后台返回的是一个整的日期时间字段dateTime。

二、处理思路:

  • 拿出nodes 数组对象中与current 字段对应的步骤数据放入新数组slicedNodes
  • 再循环处理slicedNodes 数组对象里的dateTime 字段,将其拆分成date, time 两个字段**;**
  • 比较date 字段是否有重复的,没有则赋值该字段到一个新数组prevDate
  • 将新数组添加到result数组即可组装完成。

三、代码实现:

javascript 复制代码
computed: {
    // 过程数组
    processedNodes() {
      // 将数组截取的副本返回到新的数组对象:array.slice[start, end)
      const slicedNodes = this.twrProcess?.nodes.slice( 0, parseInt(this.twrProcess?.current,10) + 1);
      const result = [];
      let prevDate = null;
      slicedNodes?.forEach((node) => {
        // 将dateTime日期时间字段拆分成date, time两个字段
        const [date, time] = node.dateTime.split(" ");
        const newObj = { ...node };
        // 将不一致的date放入newObj.date
        if (date !== prevDate) {
          newObj.date = date;
          prevDate = date;
        }
        newObj.time = time;
        result.push(newObj);
      });
      return result;
    },
  },
相关推荐
一起养小猫3 小时前
Flutter for OpenHarmony 实战:从零开发一款五子棋游戏
android·前端·javascript·flutter·游戏·harmonyos
晚霞的不甘3 小时前
Flutter for OpenHarmony全面升级「今日运势」 应用的视觉与交互革新
前端·学习·flutter·前端框架·交互
学嵌入式的小杨同学3 小时前
【Linux 封神之路】文件操作 + 时间编程实战:从缓冲区到时间格式化全解析
linux·c语言·开发语言·前端·数据库·算法·ux
RFCEO3 小时前
学习前端编程:精准选中 HTML 元素的技巧与方法
前端·学习·css类选择器·兄弟元素选中·父子选中·关系选中·选择器选中
想睡好3 小时前
ref和reactive
前端·javascript·vue.js
霁月的小屋3 小时前
React 闭包陷阱深度解析
前端·javascript·react.js
tao3556673 小时前
【用AI学前端】HTML-01-HTML 基础框架
前端·html
晚霞的不甘3 小时前
Flutter for OpenHarmony智能穿搭推荐:构建一个实用又美观的个性化衣橱助手
前端·经验分享·flutter·ui·前端框架
毕设十刻4 小时前
基于Vue的餐厅收银系统s6150(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
m0_663234014 小时前
Python代码示例:数字求和实现
linux·服务器·前端