javascript - 如何将日期范围字符串转换为可用的 JSON?

标签 javascript json date solr momentjs

我从 Solr 索引中获取了一堆日期范围,这些数据以这种格式提供给我:

[
  "[2016-11-02 TO 2016-11-02]",
  "[2016-11-16 TO 2016-11-16]",
  "[2016-11-05 TO 2016-11-08]",
  "[2016-11-09 TO 2016-11-09]",
  "[2016-11-11 TO 2016-11-12]",
  "[2016-11-10 TO 2016-11-10]"
]

我猜这是 Solr 的某种标准语法,但我如何将其转换为 JavaScript 中有用的东西,例如:

[
  {
    start: "2016-11-02",
    end: "2016-11-02"
  },
  {
    start: "2016-11-16",
    end: "2016-11-16"
  },
  ...etc
]

我已经在项目中使用 MomentJs,所以这也是一个选择

最佳答案

您可以采用零件的正则表达式并映射新对象。

var data = [ "[2016-11-02 TO 2016-11-02]", "[2016-11-16 TO 2016-11-16]", "[2016-11-05 TO 2016-11-08]", "[2016-11-09 TO 2016-11-09]", "[2016-11-11 TO 2016-11-12]",  "[2016-11-10 TO 2016-11-10]"],
    result = data.map(function (a) {
        var m = a.match(/^\[(.+) TO (.+)\]$/);
        return { start: m[1], end: m[2] };
    });

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 如何将日期范围字符串转换为可用的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41870563/

相关文章:

php - 创建图片库

javascript - python 中的等效代码(时间)

javascript - JQuery/Javascript - ".click()"方法不完全有效?

json - 解析Google自定义搜索API以获取Elasticsearch文档

javascript - 将具有动态键的对象数组转换为新数组

c++ - 使用nlohmann在cpp中输出Json数组

r - 将日期向量转换为R中的儒略日

PHP/MySQL 日期/时间差异

javascript - Pretty date js 无法在 Firefox 上运行

Javascript 计算 json 数组中的不同值和总和列表