Menilai Ungkapan Matematik dalam Rentetan JavaScript
Menghuraikan dan menilai ungkapan matematik dalam rentetan JavaScript menimbulkan cabaran. Walau bagaimanapun, terdapat beberapa perpustakaan dan teknik yang tersedia untuk menangani perkara ini dengan berkesan.
Satu pendekatan melibatkan penggunaan perpustakaan Penilai Ungkapan JavaScript. Pustaka ini membolehkan penilaian ungkapan dalam rentetan, seperti yang ditunjukkan dalam contoh berikut:
Parser.evaluate("2 ^ x", { x: 3 });
Pilihan lain ialah menggunakan perpustakaan mathjs, yang menyediakan set fungsi matematik yang mantap. Dengan mathjs, ungkapan boleh dinilai seperti berikut:
math.eval('sin(45 deg) ^ 2');
Pertimbangan Lain
Satu lagi penyelesaian berpotensi yang dicadangkan dalam jawapan Stack Overflow yang berasingan mencadangkan kaedah untuk menghurai dan menilai ungkapan secara manual menggunakan ungkapan biasa:
const regex = /([0-9]+)\s*([+\-*\/])\s*([0-9]+)/g; const expression = "1+1"; const result = expression.match(regex).reduce((a, b) => eval(b), 0);
Pendekatan ini lebih rumit tetapi menawarkan kawalan yang lebih besar ke atas proses penilaian.
Kesimpulan
Dengan memanfaatkan perpustakaan atau teknik ini, pembangun boleh menilai secara berkesan ungkapan matematik yang disimpan sebagai rentetan, membolehkan pengiraan kompleks dan matematik dinamik operasi dalam aplikasi JavaScript.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menilai Ungkapan Matematik yang Disimpan sebagai Rentetan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!