<script>
//array of strings to be alligned
arr=[
"abb ghjk lk",
"dfehj njiokp klpoi",
"qwerty jkoltornpop ssuka"
];
len=arr.length;
//array for max lengths
maximum=[];
//array for arr's splited values
splitted=[];
for (jj=0; jj<len; jj++){
splitted[jj] = arr[jj].split(/\s/,3);
cur=splitted[jj];
curlen=cur.length
if (jj==0){//setting max values
for (kk=0; kk<curlen; kk++){
maximum[kk]=cur[kk].length;
}
}
else {
//if (jj>0), check if we have to reset max values
for (kk=0; kk<curlen; kk++){
maxcur=maximum[kk];
curkl=cur[kk].length;
maximum[kk]=(curkl>maxcur)?curkl:maxcur
}
}
}
/*
//see the maximum lengths we have by now
rez="maximal lengths:\n";
for (ll=0; ll<maximum.length; ll++){rez+=ll+": "+maximum[ll]+"\n ";}
alert(rez);
*/
//delimiter for aligning (space)
del=" ";
for (ii=0; ii<arr.length; ii++){
for (m=0; m<maximum.length; m++){
_tmp=splitted[ii][m].length;
_max=maximum[m];
while (_tmp<_max){
//so called "aligning" :)
//sorry, it is not something vey genius..
_curItem=splitted[ii][m]
_curItem=del+_curItem;
_tmp++;
//use _curItem+=del if you want to left-align them
}
}
arr[ii]=splitted[ii].join(" ");
}
//just checking what we have..
document.write("<pre>"+arr[0]+"<br>"+arr[1]+"<br>"+arr[2]+"</pre>")
</script>