Javascript 从DOM和JQuery创建JSON数组

Javascript 从DOM和JQuery创建JSON数组,javascript,jquery,json,Javascript,Jquery,Json,我正在通过JQuery查询DOM,尝试以下格式的JavaScript数组: [ { "start": moment("10/03/2017","DD/MM/YYYY"), "end": moment("18/03/2017", "DD/MM/YYYY") }, { "start": moment("01/04/2017","DD/MM/YYYY"), "end": moment("

我正在通过JQuery查询DOM,尝试以下格式的JavaScript数组:

 [
       {
         "start": moment("10/03/2017","DD/MM/YYYY"),
         "end": moment("18/03/2017", "DD/MM/YYYY")
       },
       {
         "start": moment("01/04/2017","DD/MM/YYYY"),
         "end": moment("05/04/2017", "DD/MM/YYYY")
       },
       {
         "start": moment("11/04/2017","DD/MM/YYYY"),
         "end": moment("15/04/2017", "DD/MM/YYYY")
       }
     ]
我试图在JQueries
each()
函数中创建一个JavaScript
对象来执行此操作,但它不起作用:

var avail_fruits = Array();
    $(".avails").each(function(i, objer) {
        //test
        var ndate_group = $(objer).val().split(",");
        var obj_date = new Object();
        obj_date.start = moment(ndate_group[0],"DD/MM/YYYY");
        obj_date.end = moment(ndate_group[0],"DD/MM/YYYY");
        console.log(obj_date);
        avail_fruits.push(obj_date);
    });

如果我正确理解了您的问题,您可以通过使用jQuery从每个
元素中提取
开始
结束
日期作为字符串来实现所需的功能,如下所示:

const [start, end] = $(this).val().split(',');
然后,您可以通过矩的
utc()
方法解析这些字符串,如下所示:

/*声明结果数组*/
const avail_fruits=[];
/*使用avails类迭代每个输入*/
$('.avails')。每个(函数(){
/*从输入值中提取开始、结束日期字符串*/
const[start,end]=$(this.val().split(',');
/*使用矩分析开始、结束日期字符串。使用utc()
避免时区转换*/
推({
开始:矩.utc(开始于'DD/MM/YYYY'),
结束:utc时刻(结束'DD/MM/YYYY')
});
});
console.log(可用)


Post your HTML alsoI我没有使用任何HTML,我必须在这个插件中将json变量置于禁用范围内。我指的是
$(“.avails”)
。当您
var ndate_group=$(objer.val().split(“,”)时,您得到了什么什么不起作用?你从中得到了什么?代码看起来不错。它应该是有效的。仅对于
obj_date.end=
应该有
ndate_组[1]
而不是
ndate_组[0]
。谢谢,我犯了一个基本错误,没有按json,而是创建了对象(@IntekhabKhan不用担心-很高兴我能帮上忙!