Javascript:将字符串转换为数组

Javascript:将字符串转换为数组,javascript,arrays,string,calculator,Javascript,Arrays,String,Calculator,这是我的计算器项目的函数之一。首先,我需要将输入字符串转换为数组,然后再执行该操作。(假设输入现在只有数字和“+”号 我这里的问题是,我如何改进代码?还有什么其他方法可以解决这个问题?(时间复杂度、清洁度、代码更短………随便什么) 函数转换数组(输入){ 让数组=[]; 让num=“”; for(设i=0;i{ 让match,arr=[]; while(match=re.exec(str)){ arr.push(匹配[1])//这里可以确定是否有运算符 console.log(匹配[1],“O

这是我的计算器项目的函数之一。首先,我需要将输入字符串转换为数组,然后再执行该操作。(假设输入现在只有数字和“+”号

我这里的问题是,我如何改进代码?还有什么其他方法可以解决这个问题?(时间复杂度、清洁度、代码更短………随便什么)

函数转换数组(输入){
让数组=[];
让num=“”;
for(设i=0;i
const q=prompt('Sum');

警报('Answer:'+eval(q));
您可以使用组进行拆分。这会将组添加到数组中

对于其他计算符号,可以将其添加到括号中

const convertary=string=>string.split(/([+])/);

console.log(convertArray(“10+2+3000+70+1”);
看起来复杂性一定与您想要确定运算符有关。在代码中,您只需将它们全部推入数组中。这样做就像

const re=/((\d+)|([^\d]+)/g
const convertary=str=>{
让match,arr=[];
while(match=re.exec(str)){
arr.push(匹配[1])//这里可以确定是否有运算符
console.log(匹配[1],“Operator?”,!/^\d+$/.test(匹配[1]))
}
返回arr
}
const str=“10+2+3000+70+1”;

console.log(convertary(str));
您是否有一些输入和输出?代码是否有效?与意义无关,更多关于主题的信息。请访问,查看和。做一些研究,搜索相关主题;如果遇到问题,请发布您的尝试,使用
[]记录输入和预期输出
snippet编辑器。@NinaScholz运行snippetArrgh。我用exec玩了几分钟才完成这项工作!至少我可以看到它是否是运算符