Я хочу найти степень полиномиального уравнения
den = a^2+a+1
Вывод уравнения должен быть
2
или
den=a^2+a^3+a+1
Выводуравнение должно быть
3
Но я не могу найти правильное решение для JavaScript
Вы можете использовать регулярное выражение, чтобы получить все показатели и вычислить максимум
var r = /a(\^\d)?/g; var t = 'a^2+a^3+a+1'; var order = t.match(r).reduce((m, d) => { var ex = d.split('^')[1]; if(ex && (ex > m)){ return ex; } return m; },0); console.log(order); // Logs '3'
Вы также можете сделать то же самое без использования Array.prototype.reduce (использовали простой цикл for и избегали синтаксиса ES6 для простоты)
Array.prototype.reduce
var r = /a(\^\d)?/g; var t = 'a^2+a^3+a+1'; var order = 0; var matches = t.match(r); for(var i = 0, j = matches.length ; i< j; i++){ var exp = matches[i].split('^')[1]; if(exp && (exp > order)){ order = exp; } } console.log(order); // Logs '3'