bonsoir,
j'ai l'objet suivant qui contient des commentaires, sous commentaires, sous sous commentaires et sous sous sous commentaires.
pour cet exemple je n'ai pas utilisé les sous sous sous commentaires.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
let com = {
    "0": {
      "id_comment": "107",
      "id_pub": "96"
    },
    "1": {
      "id_comment": "108",
      "id_pub": "96"
    },
    sous_commentaire: [{
      "id_s_comment": "48",
      "id_comment": "107"
    }, {
      "id_s_comment": "49",
      "id_comment": "107"
    }, {
      "id_s_comment": "60",
      "id_comment": "107"
    }],
    sous_sous_comment: [{
      'id_2s_comment': '10',
      'id_s_comment': '48'
    }, {
      'id_2s_comment': '11',
      'id_s_comment': '49'
    }],
    "3s_comment": []
  };
quand un commentaire est supprimé, il faut donc supprimer tout les s_com, 2s_com et 3s_com relatifs a ce commentaire, alors je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
$.map(com, function(val, cle) {
  if (cle != 'sous_commentaire' && cle != 'sous_sous_comment' && cle != '3s_comment') {
    com.sous_commentaire.map(function(cle1, i) {
      if (cle1.id_comment == val.id_comment) {
        com.sous_sous_comment.map(function(cle2, i2) {
          if (cle1.id_s_comment == cle2.id_s_comment) {
          	 com.sous_sous_comment.splice(i2, 1);//suppression 2s_com
          }
        });
      com.sous_commentaire.splice(i, 1);//suppression s_com
      }
    });
 
  }
return com;
});
console.log(JSON.stringify(com));
/*resultat : {"0":{"id_comment":"107","id_pub":"96"},"1":{"id_comment":"108","id_pub":"96"}
,"sous_commentaire":[{"id_s_comment":"49","id_comment":"107"}]
,"sous_sous_comment":[{"id_2s_comment":"11","id_s_comment":"49"}],"3s_comment":[]}*/
ce que je ne comprends pas c'est pourquoi les sous commentaires et les sous sous commentaires ne sont pas correctement supprimés , il reste encore un item..., normalement il doit être supprimé non?
est ce que c'est un problème d'index de splice ?