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

从映射对象中查找首尾索引的技术求助

获取映射对象的第一个和最后一个索引(键)

提取对象键数组

首先用Object.keys()方法提取出对象的所有键,ES6+环境下该方法返回的数组会保留键的插入顺序。假设你的对象名为dateMap:

const dateMap = {
  '13-2-2022': [
    { "name":"abc", "date":"13-2-2022" },
    { "name":"xyz", "date":"13-2-2022" }
  ],
  '15-2-2022': [
    { "name":"azx", "date":"15-2-2022" },
    { "name":"qwe", "date":"15-2-2022" }
  ],
  '16-2-2022': [
    { "name":"azx", "date":"16-2-2022" },
    { "name":"qwe", "date":"16-2-2022" },
    { "name":"qpe", "date":"16-2-2022" }
  ]
};

const keys = Object.keys(dateMap);

获取首尾键

通过数组索引直接获取第一个和最后一个键:

const firstKey = keys[0]; // 结果:'13-2-2022'
const lastKey = keys[keys.length - 1]; // 结果:'16-2-2022'

额外提示

  • 如果对象可能为空,先判断keys.length > 0再获取首尾键,避免索引越界报错。
  • 若需要按日期排序后再取首尾,可以先对键数组做排序处理:
// 将日期字符串转成标准日期对象后排序
const sortedKeys = keys.sort((a, b) => new Date(a.split('-').reverse().join('-')) - new Date(b.split('-').reverse().join('-')));
const sortedFirstKey = sortedKeys[0];
const sortedLastKey = sortedKeys[sortedKeys.length - 1];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:40:42