javascript – Como converter uma string separada em vírgula e letra “e” no final para um array a partir dos números existes?


Como poderia extrair de uma string assim:

var texto = '4°, 5° e 6° ano';

Um resultado assim:

var array = (
   4,
   5,
   6 
);

Ou ainda melhor desta maneira:

var array = (
   '4° ano',
   '5° ano',
   '6° ano'
);

Eu tentei fazendo isso, mas não deu muito certo:

 $scope.filterRecomendations = function(recomend) {
   var list = recomend.split(' e ');
   var collection = ();
   for(var i in list) {
      list(i).split(', ')
      collection.push(list(i));
   }
    collection.flat(Infinity); 
    return collection;
 };

Imprimiu uma coisa esquisita tipo isso no ng-repeat:

(("4º")("5º")("6º ano"))

Exemplo quando tem apenas uma turma:

inserir a descrição da imagem aqui