簡體   English   中英

有條件的連接數組-Javascript

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM