我想要最终将一些代码放入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);
答案 0 :(得分:0)
这不是如何向对象添加项目,更改
myData.push(filters);
到
myData.filters = filters;
此外,可能会将= new Object
更改为= {}
。没有区别,但它更容易阅读,因为文字符号占用的空间更少。
答案 1 :(得分:0)
使用push
向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;
顺便说一句,请勿使用new Object()
创建对象,请使用{}
。
答案 2 :(得分:0)
不需要额外的阵列和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()
});
}
});