javascript - Javascript:将字符串转换为数组
问题描述
这是我的计算器项目的功能之一。首先,我需要将输入字符串转换为数组,然后再进行操作。(假设输入现在只有数字和“+”号。
我的问题是,如何改进此代码?处理这个问题的其他方法是什么?(时间复杂度、简洁性、更短的代码......无论如何)
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"));
解决方案
你可以和一群人分开。这也将组添加到数组中。
对于其他计算符号,您可以将它们添加到括号中。
const convertArray = string => string.split(/([+])/);
console.log(convertArray("10+2+3000+70+1"));
推荐阅读
- c# - WPF:数据表和数据网格的绑定错误
- python - 使用不同的起始值枚举 python
- python - Pandas.read_csv 问题
- c - Windows C 运行时 _close(fd) 未关闭文件
- angularjs - 用于 angularjs+java+jetty webapp 的 SAML 和 ADFS
- android - 无法使用 FirebaseRecyclerViewAdapter 从 Firebase 实时数据库中检索数据
- mysql - MySQL - 我应该如何索引这个表?
- php - Carbon 将 12:00 转换为错误时间
- python - Debian 9 上的 Django - ImportError:没有名为“PROJECT.settings.py”的模块
- python - 如何从同一资源运行两个功能(绘制图形并将无限数据保存到 txt 文件)