Tengo esta matriz:
let arr = [ ['studentname','id','school', [['subject1', 'result1'],['subject2',null]]], ['studentname','id','school', [['subject1', 'result1'],['subject2','result2']]], ]; y desea eliminar el asunto y su resultado si el resultado es nulo. Me refiero a eliminar ['subject2',null] y mantener el resto de la matriz después de eliminarlo
let arr = [ ['studentname','id','school', [['subject1', 'result1']]], ['studentname','id','school', [['subject1', 'result1'],['subject2','result2']]], ]; Obtengo la matriz dinámicamente y no quiero mostrar el tema si el resultado es nulo. Usé el filter pero recibo errores como si eliminara toda la fila
arr.map(student=>{ student[3]= student[3].filter(subject=>subject[1]!==null) return student })usando bucle
for (let i = 0; i < arr.length; i++) { if( arr[i].indexOf(null) !== -1 ) { let iIndex = arr[i].indexOf(null); arr[i][j].splice(iIndex, 1); } else { for (let j = 0; j < arr[i].length; j++) { if(arr[i][j]) { if ( arr[i][j].indexOf(null) !== -1 ) { let jIndex = arr[i][j].indexOf(null); arr[i][j].splice(jIndex, 1); } else { for (let k = 0; k < arr[i][j].length; k++) { if(arr[i][j][k]) { if ( arr[i][j][k].indexOf(null) !== -1 ) { let kIndex = arr[i][j][k].indexOf(null); arr[i][j][k].splice(kIndex, 1); } else { arr[i][j][k] } } else { arr[i][j]; } } } } else { arr[i]; } } } }matriz de resultados:
arr = [ [ "studentname1", "id", "school", [[ "subject1", "result1" ], [ "subject2" ]]],
[ "studentname2", "id", "escuela", [[ "asignatura1", "resultado1" ], [ "asignatura2", "resultado2" ]]] ]