JS for polynomial addition
Array.prototype.existKey = function (propval) {var i = 0;for (var i = 0;i < This.length; i++) {if (this[i].k = = propval) {RET Urn i;}} return-1;} function Polynadd (A, b) {//1. Parse out each Expvar stra = a[0] = = '-'? A: ' + ' + a;var StrB = b[0] = = '-'? B: ' + ' + B;va R aNb = stra + StrB; Console.log ("ANb:" +anb); var op = anb[0];var s = ""; var arr = new Array (); for (var i = 1;i < Anb.len Gth i++) {if (i = = anb.length-1) {Arr.push (op+s+anb[i]); if (anb[i] = = ' + ' | | anb[i]== '-') {Arr.push (op + s); op = anb[i];s= "";} Else{s+=anb[i];}} 2. Parse out parameter & keys for each exp & save to Arrvar Exparr = new Array (); for (var i = 0;i < arr.length; i+ +) {var index = arr[i].indexof (' X '); var key = Arr[i].substr (Index,arr[i].length); var val = index = = 1? arr[i][0]+ "1": arr [I].substr (0,index); var existindex = Exparr.existkey (key); if (existindex! =-1) {var r = eval (exparr[existindex].v + val); EXPARR[EXISTINDEX].V = r>0? ' + ' + r:r;} Else{exparr.push ({k:key,v:val});}} 3. Output Resultvar ResultStr = ""; for (var i = 0;i < exparr.length;i++) {var v = exparr[i].v = = "+1"? ' + ': exparr[i].v = = "-1"? '-': Exparr[i].v;resultstr +=v +exparr[i].k;} if (resultstr[0] = = ' + ') {resultstr = Resultstr.replace (' + ', ');} return resultstr;} Testconsole.log (Polynadd ("8x2+3x3-9x5", " -4x5+17x2-99x8-15x5"));
Algorithm exercise--polynomial addition