【发布时间】:2020-12-23 15:06:20
【问题描述】:
这是我的计算器项目的功能之一。首先,我需要将输入字符串转换为数组,然后再进行操作。 (假设输入现在只有数字和“+”号。
我的问题是,如何改进这段代码?处理这个问题的其他方法是什么? (时间复杂度、简洁性、更短的代码......随便)
function convertArray(input) {
let array = [];
let num = "";
for (let i = 0; i < input.length; i++) {
if (input.charAt(i) == '+') {
array.push(input.charAt(i));
} else {
do {
num += input.charAt(i);
i++;
} while (i < input.length && input.charAt(i) !== '+');
array.push(num);
num = "";
i--;
}
}
return array;
}
console.log(convertArray("10+2+3000+70+1"));
【问题讨论】:
-
你有一些输入和输出吗?代码有效吗?
-
不是为了有意义,更多的是关于主题。请访问help center,使用tour 了解内容和How to Ask。做一些研究,搜索关于SO的相关主题;如果您遇到困难,请发布您尝试的minimal reproducible example,并使用
[<>]sn-p 编辑器记录输入和预期输出。 -
@NinaScholz 运行 sn-p
标签: javascript arrays string calculator