odeberte řádek z řádku v poli, pokud je indexOf null

Mám toto pole:

let arr = [

  ['studentname','id','school', [['subject1', 'result1'],['subject2',null]]],
  ['studentname','id','school', [['subject1', 'result1'],['subject2','result2']]],


]; 

a chcete odstranit předmět a jeho výsledek, pokud je výsledek null. Chci smazat ['subject2',null] a ponechat zbytek pole, který bude po jeho odstranění

 let arr = [

  ['studentname','id','school', [['subject1', 'result1']]],
  ['studentname','id','school', [['subject1', 'result1'],['subject2','result2']]],


]; 

Dostanu pole dynamicky a nechci zobrazovat předmět, pokud je výsledek null. Použil jsem filter ale dostávám chyby, jako je odstranění celého řádku

Odpověď

  arr.map(student=>{
     student[3]= student[3].filter(subject=>subject[1]!==null)
     return student
  })