Goed ik heb een array (het gaat om een javascript rekenmachine, maar dat terzijde):
sommige wiskundige functies van de input moeten gereplaced worden met de respectievelijke javascript functies :
Klopt allemaal tot nu toe, alleen als je w(3) x w(3) doet (wortel keer wortel) en andere wiskundige functies, dan replaced hij er maar 1 (van het X aantal dat er in kan staan). Ik dacht dus als oplossing : Regular expressions (nog nooit iets mee gedaan verder ) . dus ik zat een btje te proberen , en dit zou dan moeten werken :
Dit stukje code zou dus alle instances van de wiskunde functies moeten replacen, maar dat doet hij niet. Misschien heb ik gewoon de hele basis van deze regular expressions niet begrepen, dan is het misschien een hele domme vraag. Of misschien is m'n syntax fout. Wie kan me helpen?
code:
1
2
3
4
5
6
7
8
| var functies = Array(
Array('sin', 'Math.sin'),
Array('cos', 'Math.cos'),
Array('tan', 'Math.tan'),
Array('log', 'Math.log'),
Array('10^(', 'Math.pow(10,'),
Array('w', 'Math.sqrt')
); |
sommige wiskundige functies van de input moeten gereplaced worden met de respectievelijke javascript functies :
code:
1
2
3
4
5
| for (var i = 0; i < functies.length; i++)
{
antwoord = antwoord.replace(functies[i][1], functies[i][1]);
} |
Klopt allemaal tot nu toe, alleen als je w(3) x w(3) doet (wortel keer wortel) en andere wiskundige functies, dan replaced hij er maar 1 (van het X aantal dat er in kan staan). Ik dacht dus als oplossing : Regular expressions (nog nooit iets mee gedaan verder ) . dus ik zat een btje te proberen , en dit zou dan moeten werken :
code:
1
2
3
4
| for (var i = 0; i < functies.length; i++)
{
antwoord = antwoord.replace(new RegExp(functies[i][0], "ig"), functies[i][1]);
} |
Dit stukje code zou dus alle instances van de wiskunde functies moeten replacen, maar dat doet hij niet. Misschien heb ik gewoon de hele basis van deze regular expressions niet begrepen, dan is het misschien een hele domme vraag. Of misschien is m'n syntax fout. Wie kan me helpen?