我从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,所以这也是一个选项
答案 0 :(得分:5)
您可以为部件采用正则表达式并映射新对象。
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; }