我正在尝试在 js 中制作一个 tokenzir,但我注意到结果中没有包含“+”,因为我想要这段代码中的错误是什么
var a=String.raw`(0.34+4+5.5++4() )`
function tokenizer(a){var b=0;d=[];e="";
while(b<a.length){var c=a[b];
if(c=="+"){d.push("+");c=a[++b];continue;}
if(c=="("){d.push(c);b++;continue;}
if(c==")"){d.push(c);b++;continue;}
if(c==" "||c=="\n"||c=="\t"){b++;continue;}
if(/[0-9.]/.test(c)==true){while(/[0-9.]/.test(c)==true){e+=c;c=a[++b]};d.push(e);e="";b++;continue}
}
return d;
}
console.log(tokenizer(a))//result =["(", "0.34", "4", "5.5", "+", "4", ")", ")"]
我希望你的结果 ["(", "0.34","+", "4","+", "5.5","+, "+", "4", ")", ")"]
白板的微信
相关分类