数式に(があったら×(に置き換える関数を作ってみた
今回は分配法則の関数を作る前の段階として数式に(があったら×(に置き換える関数を作っていきたいと思います。
目次を開く
(を見つけたら×(に置換する
まず(を見つけ次第×(に置き換えます。
文字を置換する場合は
変数(置き換えた結果が入る)=
置き換える前の変数.replace(置き換えたい文字,置き換える文字);
を使います。英語でもreplaceは置き換えるですね。
ただしこれだと先頭の文字しか置き換えることができないので全ての文字を置き換えるためには replaceの代わりにreplaceAllを使います。
今回は
\[ ( \]を
\[ ×( \]で置き換えるので
function kakeru_add(math_string){ var result = math_string.replaceAll('(', '×('); }
と記述します。
一番初めに(がついてたらその前の×を消す
そう、これだけだと数式の一番初めに(がついてても×(がつくという面倒くさいことになるので笑
それを取り除いてやります。
方針としては
もし先頭の文字が×ならその子×を消してあげる。
でいきたいと思います。
文字列を取り出したい場合は
変数.charAt(何番目の文字列を取り出すかを数字で指定)
0が一番目になります。
を使います。
また文字列から一部だけを削除したい場合は
変数(削除した結果の変数)=
削除する前の変数.slice( 削除したい文字列の何番目かを数値で指定 )
1が一番目になります。
を使います。
今回はもし先頭の文字が×なら×を消すのでif文も使って次のように記述します。
if(resutl.charAt(0)=='×'){ var result=result.slice(1); }
戻り値を設定する
今回は戻り値をresultとします。
return result;
ここまでをまとめて書く
ここまでをまとめて書くと次のようになります。
function kakeru_add(math_string){ var result=math_string.replaceAll('(', '×('); if(result.charAt(0)=='×'){ var result=result.slice(1); } return result; }//関数終わり
関数の説明と使い方
この関数は数式に(がある場合×(に置き換える関数です。
kakeru_add(math_string)となっているので数式を入力すると×がついて返ってきます。
例えば
var math_string='(2x-7)(3y-4)'; var kekka=kakeru_add(math_string);
と入力すれば
kekkaに(2x-7)×(3y-4)として返ってきます。
またこの関数は分配法則の関数を作るための準備になります。