Mientras no encuentres nada mejor puedes pasar con esto.
Es muy mejorable, sobre todo en el tema de dar demasiadas vueltas de más en los ciclos interiores...
He supuesto que tus número sestán separados por un ; (punto y coma)...
Código:
function quitaRepes(cad){
matCad=cad.split(";"); //Picamos la cadena por el ;
matNew=new Array(); //Creamos un array para ir echando los no repes
for (num1 in matCad){
esta=false;
for (num2 in matNew){
if (matNew[num2]==matCad[num1]) esta=true; //Flag=esta repe
}
if (!esta) matNew[matNew.length]=matCad[num1]; //Si no está repe meter en el array
}
newCad=matNew.join(";"); //Juntar el nuevo array en un string
return newCad; //Devolver
}
//Ejemplo de uso
document.write(quitaRepes("4;6;12;4;12;7;9;12;9;0;3;32;43;"));