Tengo un objeto json a continuación. Quiero eliminar una parte si el valor de la pregunta está vacío. Entonces, de acuerdo con json a continuación, necesito eliminar la porción id = 7602.
[ { "id": 9333, "component": "question_pool", "sub_comp_arr": [ { "id": 7769, "component": "question", "sub_comp_arr": [ { "id": 2552, "component": "question_segment", "value": "Answer1" }, { "id": 1011, "component": "question_segment", "value": "Answer2" }, { "id": 8691, "component": "question_segment", "value": "Answer3" } ], "type": "single_choice", "value": "<p>Question1?</p>\n" }, { "id": 7602, "component": "question", "sub_comp_arr": [ { "id": 921, "component": "question_segment", "value": "" } ], "type": "single_choice", "value": "" } ] },{...} ]He implementado el código de la siguiente manera
var y= content_json.content_arr; var keyCount = Object.keys(y).length; for (var i = 0; i < keyCount; i++) { var questionCount = (content_json.content_arr[i]['sub_comp_arr']).length; for (let j = 0; j < questionCount; j++){ var emptyquestion= ((content_json.content_arr[i]['sub_comp_arr'][j]['value']).trim()).length; if (emptyquestion===0){ delete (content_json.content_arr[i]['sub_comp_arr'][j]); } } } Pero el problema es si uso delete (content_json.content_arr[i]['sub_comp_arr'][j]); Está guardando un valor nulo en mi Json, que no quiero. como lograrlo
Podrías usar filtro en su lugar.
content_json.content_arr[i].sub_comp_arr = content_json.content_arr[i].sub_comp_arr.filter(q => q.value)