Я пытаюсь извлечь различные части полиномиальной строки, такие как переменные, коэффициенты и степени из строки в JavaScript.Пока что я могу извлечь их из простой полиномиальной строки, например "-13x ^ 2 + 2-12x ^ 4".
Я хочу расширить это, чтобы извлечь из относительно сложной полиномиальной строки.Что-то вроде "-13x ^ 2y ^ 3 + 2-12x ^ -4".
Вот код, который у меня есть:
function extractPolynomial(polynomialStr) {
var arr = [];
polynomialStr = polynomialStr.match(/[+-]?\d+(x|y)(\^\d)*|[+-\s]\d+/g);
polynomialStr.forEach(function (match) {
var vals = match.split('^');
var coeff = parseInt(vals[0]);
var variable = vals[0].match(/[a-z]/gi) ? vals[0].match(/[a-z]/gi)[0] : "";
var power = 1;
if(vals.length > 1){
power = parseInt(vals[1]);
}
else {
if (variable === "") {
power = 0;
}
else {
power = 1;
}
}
arr.push({
coeff: coeff,
variable: variable,
power: power
})
});
return arr;
}
Вот скрипка: https://jsfiddle.net/889ruq7a/