JavaScriptのスタックを使用したプレフィックス計算機
JavaScriptのスタックを使用してRPN(逆ポーランド記法)入力方式で計算機を作成する必要があります。
次の入力配列を考えてみましょう-
const arr = [1, 5, '+', 6, 3, '-', '/', 7, '*'];
プロセス-
-
1はオペランドであり、スタックにプッシュします。
-
5はオペランドであり、スタックにプッシュします。
-
'+'は演算子で、1と5をポップし、それらを計算して結果をスタックにプッシュします。
-
6はオペランドであり、スタックにプッシュします。
-
3はオペランドであり、スタックにプッシュします。
-
'−'は演算子で、6と3をポップし、それらを減算して結果をスタックにプッシュします。
-
'/'は演算子で、6と3をポップし、それらを分割して結果をスタックにプッシュします。
-
7はオペランドであり、スタックにプッシュします。
-
'*'は演算子で、2と7をポップし、それらを乗算して結果をスタックにプッシュします。
そして最後に、出力は-
になります。const output = 14;
例
このためのコードは-
になりますconst arr = [1, 5, '+', 6, 3, '−', '/', 7, '*']; const stackCalculator = (arr = []) => { const options = { '+': (a, b) => a + b, '−': (a, b) => a - b, '*': (a, b) => a * b, '/': (a, b) => a / b }; const stack = []; arr.forEach(value => { stack.push(value in options ? options[value](...stack.splice(-2)) : value ); }); return stack; }; console.log(stackCalculator(arr));
出力
そして、コンソールの出力は-
になります[14]
-
JavaScriptのインポートで「{}」を使用しますか?
以下は、javaScriptインポートで{}を使用するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>
-
JavaScriptでのスタックの実装
以下は、JavaScriptでスタックを実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>