ちょっと私は質問したいと思います。単純なJavaScriptの問題があり、文字列から配列に式を解析します。私は本当にそれを行う方法を混乱させる。基本的なJavascriptアルゴリズム(ParseExpression)
let string = "1 + 10-3";
文字列= ["1"、 "+"、 "10"、 " - "、 "3"];
結果私はそれを得る:文字列= ["1"、 "+"、 "1"、 "0"、 " - "、 "3"]; 「 - 」
1及び別の0は、私は
ちょっと私は質問したいと思います。単純なJavaScriptの問題があり、文字列から配列に式を解析します。私は本当にそれを行う方法を混乱させる。基本的なJavascriptアルゴリズム(ParseExpression)
let string = "1 + 10-3";
文字列= ["1"、 "+"、 "10"、 " - "、 "3"];
結果私はそれを得る:文字列= ["1"、 "+"、 "1"、 "0"、 " - "、 "3"]; 「 - 」
1及び別の0は、私は
あなたは、このような「+」またはオペレータに基づいて値を分離することをたくありません。これを行うための
一つの方法は、正規表現で分割を使用している:
let string = "1+10-3";
string = string.split(/([+-])/g);
これは、「+」に基づいて、文字列を分割するか、される「 - 」との結果に区切りを維持します。希望します。
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);
何か試しましたか?あなたは何をしようとしましたか? – epascarello
あなたはどんな問題を解決しようとしていますか? – grizzthedj