我有一个带有“ seccion”键的矩阵,我想通过“ seccion”将其加入。请帮我在这里举一个例子。 我已经感谢您的支持。
一开始我有这个,然后我尝试加入他们:
{0: {seccion: "0", stitulo: "titulo_test1"},
1: {seccion: "0", ssub: "sub_test1"},
2: {seccion: "1", stitulo: "titulo_test2"},
3: {seccion: "1", ssub: "sub_test2"}
}
我要做的是遍历具有指定类的所有对象,但是“ i”计数器会覆盖它们:
var secciones={}; $('#formSecciones').find('.secc').each(function(i,s) { secciones[`$(s).closest('.dd-item').attr('data-id')] = {}; secciones[`$(s).closest('.dd-item').attr('data-id')][i] = {}; secciones[`$(s).closest('.dd-item').attr('data-id')][i][s.name] = s.value; });
结果:
{0:{1:{ssub: "sub_test1"}}, 1:{3:{ssub: "sub_test2"}} }
这就是我想要得到的:
{0: {ssub: "sub_test1", stitulo: "titulo_test1"}, 1: {stitulo: "titulo_test2", ssub: "sub_test2"} }
答案 0 :(得分:1)
仅当该键上尚不存在该对象时,才应创建一个新对象。
此外,您不需要嵌套数组,因此在分配的目标中不需要[i]
。
var secciones={};
$('#formSecciones').find('.secc').each(function(i,s) {
var id = $(s).closest('.dd-item').attr('data-id');
if (!secciones[id]) {
secciones[id] = {};
}
secciones[id][s.name] = s.value;
});