var string = "2+3-1";
document.write(string);

W powyższym kodzie mam ciąg znaków z cyframi oraz operatorami plus i minus. Chcę obliczyć ciąg, kiedy chcę go wyświetlić. Chodzi mi o to, że kiedy chcę wyświetlić, powinien obliczyć i pokazać 4. Próbowałem przekonwertować je na liczbę, ale daje błąd.

3
Elias Achilles 25 marzec 2020, 17:26

2 odpowiedzi

Najlepsza odpowiedź

Możesz użyć wbudowanej metody eval()

Uwaga: używanie eval() nigdy nie jest zalecane. Powinieneś użyć jakiejś zewnętrznej biblioteki, takiej jak https://mathjs.org/

var string = "2+3-1";
document.write(eval(string));
5
Maheer Ali 25 marzec 2020, 14:31

Jeśli używasz tylko plusów i minusów, możesz zrobić coś takiego:

var string = "2+3-1";
document.write(string);

var result = string.match(/([-+]?\d+)/g).reduce((a, e) => a- -e, 0);
document.write(' = ' + result)
1
Kosh 25 marzec 2020, 22:01