假设我有2个可能的数值数组:
var reg = [1000, 1010, 2050];
var ag = [100, 101, 102];
我想创建一种类型的对象/ json:
[ 1000 : [100, 101], 1010 : [100, 101, 102], 2050 : [100, 102]];
这些值将从用户已选中的复选框中检索:
<input type="checkbox" data-reg="1000" data-ag="100" class="agcheck" />
<input type="checkbox" data-reg="1000" data-ag="101" class="agcheck" />
...
<input type="checkbox" data-reg="xxx" data-ag="yyy" class="agcheck" />
xxx和yyy将是数组中所有可能的值 和
var obj = {}; //or var arr = [];
$('.agcheck:checked').each(function(){
var ag = parseInt($(this).data('ag'));
var reg = parseInt($(this).data('reg'));
//what i need here
}
如何在javascript中创建此类对象?
循环中
[0:[reg:100], 1:[reg:101]...]
键(此处为reg
)设置obj.push({'reg':reg,'ag':ag})
,因为我希望键是reg值。====
由于#SLaks的答案,我设法弄对了:
var obj = {}; //or var arr = [];
$('.agcheck:checked').each(function(){
var ag = parseInt($(this).data('ag'));
var reg = parseInt($(this).data('reg'));
if (obj[reg] == undefined) {
obj[reg] = [];
}
obj[reg].push(ag);
}
答案 0 :(得分:-1)
要设置对象的属性,请使用方括号表示法:
obj[name] = value;