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>