Demath,
Почитал. Зачем нужны зачеркнутые части?
if (an[i]==-1) {axn[i]='-'+xn[i]; axn[an.length-1]='-1'}
else if (an[i]==0) {axn[i]=''}
else if (an[i]==1) {axn[i]='+'+xn[i]; axn[an.length-1]='+1'}
else {axn[i]=sign+an[i]+xn[i]}
Зачем проверять и заменять регэкспом в таком простом случае?
if (/\+/.test(newEq.charAt(0))) //Если перед самым 1-м коэф. будет '+', то удаляем этот '+'
{ newEq = newEq.replace(/\+/,'') }
Почему не:
if ( newEq.charAt(0) == '+' ) newEq = newEq.slice(1)
if (/-/.test(newEq.charAt(0)))
{ newEq = newEq.replace(/-/,'').replace(/(-|\+)/g,'$1+').replace(/-\+/g,'+').replace(/\+\+/g,'-') }
//Если перед самым 1-м коэф. будет '-', то удаляем этот '-'
//и изменяем остальные знаки на противоположные
Аналогично первый минус можно удалить слайсом, а остальные знаки инвертировать одним вызовом replace, которому передать функцию, возвращающую плюс или минус в зависимости от...
|