2017-12-06 12 views
-5

ちょっと私は質問したいと思います。単純なJavaScriptの問題があり、文字列から配列に式を解析します。私は本当にそれを行う方法を混乱させる。基本的なJavascriptアルゴリズム(ParseExpression)

let string = "1 + 10-3";

文字列= ["1"、 "+"、 "10"、 " - "、 "3"];

結果私はそれを得る:文字列= ["1"、 "+"、 "1"、 "0"、 " - "、 "3"]; 「 - 」

1及び別の0は、私は

+0

何か試しましたか?あなたは何をしようとしましたか? – epascarello

+0

あなたはどんな問題を解決しようとしていますか? – grizzthedj

答えて

1

あなたは、このような「+」またはオペレータに基づいて値を分離することをたくありません。これを行うための
一つの方法は、正規表現で分割を使用している:

let string = "1+10-3"; 

string = string.split(/([+-])/g); 

これは、「+」に基づいて、文字列を分割するか、される「 - 」との結果に区切りを維持します。希望します。

+0

これは正しくないですか? – moon

+0

あなたの答えをフォーマットしてください – Jalpesh

+0

ありがとうman thats仕事 – Itchtheditch

0
var string = "1+10-3"; 
var copy = string; 

string = string.replace(/[0-9]+/g, "#").replace(/[\(|\|\.)]/g, ""); 
var numbers = copy.split(/[^0-9\.]+/); 
var operators = string.split("#").filter(function(n){return n}); 
var result = []; 

for(i = 0; i < numbers.length; i++){ 
    result.push(numbers[i]); 
    if (i < operators.length) result.push(operators[i]); 
} 

console.log(result); 
関連する問題