Das ist mir zu kompliziert.
Am elegantesten tut's dieser Zweizeiler *brustschwell*:
function qs(n,a) {
while ( ( a||[] )[0] ) { n += parseInt( a.pop() ); }
return (n < 10) ? n : qs( 0, n.toString().split('') );
}
qs(n) ergibt die gesuchte einstellige Quersumme
n = die querzusummierende Zahl
a = Array
Gruß, Don P