向Javascript对象添加数组

向Javascript对象添加数组,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我有一些代码要最终放入JSON对象中。但首先我想创建一个javascript对象,并在该对象中添加一个值数组。听起来很简单,但我的方法似乎是错误的。首先,我创建一个基本对象,设置几个字段。最后,迭代一组复选框,然后,如果在该值处选中一个复选框,则返回一个数组 在最后一步中,我需要将该数组添加到我的对象(myData)中,然后JSONify它 任何关于我如何做到这一点的想法,似乎都是myData.push(过滤器);不起作用 请注意,对象本身不是数组,我想在对象中放置一个数组 var

我有一些代码要最终放入JSON对象中。但首先我想创建一个javascript对象,并在该对象中添加一个值数组。听起来很简单,但我的方法似乎是错误的。首先,我创建一个基本对象,设置几个字段。最后,迭代一组复选框,然后,如果在该值处选中一个复选框,则返回一个数组

在最后一步中,我需要将该数组添加到我的对象(myData)中,然后JSONify它

任何关于我如何做到这一点的想法,似乎都是myData.push(过滤器);不起作用

请注意,对象本身不是数组,我想在对象中放置一个数组

       var myData = new Object();

        myData.deviceId = equipId;

        myData.dateTo = dateTo
        myData.dateFrom = dateFrom;
        myData.numResults = $("#numResults").val();
        var i=0;
        var filters = [];
        $('input[type=checkbox]').each(function () {
               if (this.checked) {
                   allData += $(this).val() + ",";
                    filters[i] = {
                        filterIds: $(this).val()
                    };
                    ++i;
               }
            });

        myData.push(filters);

这不是向对象添加项的方式,而是更改

myData.push(过滤器)

myData.filters=过滤器

另外,可能将
=新对象
更改为
={}
。没有区别,但更容易阅读,因为文字符号占用的空间更少


阅读更多关于使用
推送
过滤器
数组添加元素的信息。使用属性分配将另一个属性添加到
myData
对象

    var myData = {
        deviceId: equipId,
        dateTo: dateTo,
        dateFrom: dateFrom,
        numResults: $("#numResults").val()
    };
    var filters = [];
    $('input[type=checkbox]').each(function () {
        if (this.checked) {
            allData += $(this).val() + ",";
            filters.push({
                filterIds: $(this).val()
            });
        }
    });

    myData.filters = filters;

顺便说一句,不要使用
newobject()
来创建对象,使用
{}
可以消除对额外数组和i的需要

var myData = {}

myData.deviceId = equipId;

myData.dateTo = dateTo
myData.dateFrom = dateFrom;
myData.numResults = $("#numResults").val();
myData.filters = [];
$('input[type=checkbox]').each(function () {
    if (this.checked) {
        allData += $(this).val() + ",";
        myData.filters.push({
            filterIds: $(this).val()
        });
    }
});

推送不是针对对象,而是针对数组