Показать сообщение отдельно
  #19 (permalink)  
Старый 02.03.2013, 19:53
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

Сообщение от rgl
Почитал. Зачем нужны зачеркнутые части?

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]}
Это для свободного члена уравнения. Так как он не имеет неизвестной, то и обрабатываю его отдельно.
Мне показалось, что так проще всего его учесть.

Сообщение от rgl
Зачем проверять и заменять регэкспом в таком простом случае?
if (/\+/.test(newEq.charAt(0))) //Если перед самым 1-м коэф. будет '+', то удаляем этот '+'
{ newEq = newEq.replace(/\+/,'') }

Почему не:
if ( newEq.charAt(0) == '+' ) newEq = newEq.slice(1)
Мало знаний и опыта работы с готовыми методами, поэтому так получается.


Сообщение от rgl
Аналогично первый минус можно удалить слайсом, а остальные знаки инвертировать одним вызовом replace, которому передать функцию, возвращающую плюс или минус в зависимости от...
Спасибо, понял!


P.S. А где почитать продвинутое использование циклов в JavaScript?
То есть интересуют "чистые" алгоритмы с минимальным использованием готовых методов.
Ответить с цитированием