자바 스크립트로 프로그램을 만들고 있는데 어떻게 할 수 있는지 잘 모르겠습니다. 내 프로그램은 "+", "-"및 기타 수학 연산자와 같은 인수를 실제 연산자로 변환하려는 문자열로 사용합니다. (예를 들어, 의사 코드)JavaScript에서 실제 연산자로 문자열 연산자로 수학 연산자를 변환
function calc(a,b,c, op1,op2){
output=(a op1 b op2 c)
}
CALC (2,3,4, "+", "-")
출력 해주기 = 2 + 3-4이어야한다.
그러나, 나는 얼마나 많은 통신 수 및 또한 수를 미리 알지 못한다. 즉, 1, "+", 2, "-", 4, "+", "(", 5, "+", 6 ")"........를 바꾸는 것입니다. 1 + 2-4 + (5 + 6) .....
좋은 방법으로 어떻게 구현할 수 있습니까?
당신이 우선 순위와 중첩, 또는 임의의 길이 식을 지원해야합니까를? –
예, 그것이 제 문제입니다. –
그래, @ 디스트로이의 해결책은 기본 솔버에서는 괜찮지 만, 더 복잡한 식의 경우에는 적절한 식 토크 나이저와 파서가 필요하다. (또는 입력을 신뢰할 수 있다면 eval을 사용한다.) –