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

如何根据对象内的date数组排序,同步调整同对象其他数组顺序

实现方案

核心逻辑是先将三个数组的同索引关联元素绑定为一个整体,排序后再拆分回原结构:

  • 按索引把三个数组的对应元素组合为对象数组
  • 对组合后的数组按date字段排序(可直接复用你现有的date排序逻辑)
  • 将排序后的数组拆分,分别赋值回原对象的三个属性

完整代码示例:

const test = {
  data1: ["3", "2", "1"],
  data2: ["lorem", "ipsum", "dolor"],
  date: ["2021.01.01", "2022.02.02", "2023.03.03"],
};

// 合并关联元素
const combinedList = test.date.map((dateVal, idx) => ({
  date: dateVal,
  d1: test.data1[idx],
  d2: test.data2[idx]
}));

// 按date升序排序,可根据需求调整排序规则
combinedList.sort((a, b) => new Date(a.date) - new Date(b.date));

// 拆分回原结构
test.date = combinedList.map(item => item.date);
test.data1 = combinedList.map(item => item.d1);
test.data2 = combinedList.map(item => item.d2);

如果你的date字符串格式是固定的YYYY.MM.DD,不需要转Date对象也能直接排序,把排序逻辑替换为combinedList.sort((a, b) => a.date.localeCompare(b.date))即可,性能更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:45:06