어때
while (
stack.peek() in ops &&
p(stack.peek()) >= 10
) {
str += stack.pop();
}
다시 작성되어 .peek()
루프가 실행될 때마다 호출 하지만 한 번만 정의합니까?
나는 생각했다
const peek = stack.peek();
while (
peek in ops &&
p(peek) >= 10
) {
str += stack.pop();
}
내가 수정 이래로 stack
와 stack.pop()
While 루프 내부에, 나는의의 값이 생각 stack.peek()
나는 루프 내부 변수를 다시 정의해야 할 것 같아요, 그래서 때마다 변화를하지만,
let peek = stack.peek();
while (
peek in ops &&
p(peek) >= 10
) {
str += stack.pop();
peek = stack.peek();
}
또한 약간 잘못된 것 같습니다.
while (
let peek = stack.peek() &&
peek in ops &&
p(peek) >= 10
) {
str += stack.pop();
}
또는
for (
let peek = stack.peek();
peek in ops && p(peek) >= 10;
peek = stack.peek()
) {
str += stack.pop();
}
다음 while (true)
과 함께 사용 하는 것이 좋습니다 break
.
while (true) {
const peek = stack.peek();
if (!(peek in ops) || p(peek) < 10) break;
str += stack.pop();
}
이론적으로 다음을 수행 할 수도 있습니다.
while (
(peek => peek in ops && p(peek) >= 10)(stack.peek())
) {
str += stack.pop();
}
그러나 그것은 매우 추합니다. 대략 쓰는 것과 같습니다.
function pop(stack) {
const peek = stack.peek();
return peek in ops && p(peek) >= 10;
}
while(pop(stack)) str += stack.pop();
for
루프는 하나 나쁜 생각하지 않고, 같이 쓸 수있다 :
for (let peek; peek = stack.peek(), peek in ops && p(peek) >= 10; ) {
str += stack.pop();
}
다시 호출 복제를 방지합니다 stack.peek()
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다