[英]join array with a condition - Javascript
我有一個帶有“ 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"} }
僅當該鍵上尚不存在該對象時,才應創建一個新對象。
另外,您不需要嵌套數組,因此在分配的目標中不需要[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;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.