将 javascript 中的字符串拆分为数组

Split string in javascript into an array

我正在使用 eval() 函数创建一个计算器,如您所知,eval returns 一个字符串(我指的是 this tutorial),例如 20+30。我现在想要的是拆分这个字符串,这样我就会有一个像 [20,30,50] 这样的数据数组,其中 2030 是操作数, 50 是结果案件。

到目前为止我所做的是:

var input = document.getElementById('screen');
var result= '20+30'; // as an example
var firstOperand = result.split('+', 1); //this is taking the first operand

我真正想要的是像我提到的那样将我的输入值字符串 "20+30" 转换为数组:myArr = [20,30,50].

有什么帮助吗?

您可以创建仅将分隔符传递给拆分函数的数组。

var myArr = result.split('+');

现在您需要添加结果:

myArr.push("50");

利用地图的力量减少!

result = '1+2+3+4+5+6+7+8+9';
a = result.split('+').map(function(x){ return parseInt(x) });
b = a;
b.push(a.reduce(function(p, c) { return p+c; }));
// b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 45]

顺便说一句,您不应该使用 eval(),请查看 Shunting-yard algorithm instead. Code examples for the algorithm can be found here at SO and at Rosettacode