js对象数组如何按规律合并

82b8f028095a2f35994ad8f3917844d.png
把上面的对象数组改成如下:
ce1daf68009e25ddd90df1965de944d.png

阅读 1.8k
1 个回答

你图上标注的,中间连续,得知道什么规则才是连续,不然也不好将其合并;看图,是开始时间每隔半小时吗?

// data是你的数据
const result = data.reduce((arr, item) => {
  let currLen = arr.length
  if (!currLen) {
    arr.push(item)
  } else {
    let lastIndex = currLen - 1
    if (arr[lastIndex].EndTime === item.StartTime) {
      arr[lastIndex].EndTime = item.EndTime
    } else {
      arr.push(item)
    }
  }
  return arr
}, [])

console.log(result)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题