首页 > 解决方案 > 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"));

标签: javascriptarraysstringcalculator

解决方案


你可以和一群人分开。这也将组添加到数组中。

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

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

console.log(convertArray("10+2+3000+70+1"));


推荐阅读