해결된 질문
작성
·
139
1
removeHelper 함수에서 data는 잘못 작성된 것이니 매개변수에서 제외해도 좋다고 하셨는데
제외 후 테스트하면 remove 부분의 removeHelper 함수에서 parentNode.getLeftSubTree is not a function 라는 오류가 뜨네요.
제가 잘못 작성한 부분이 있을까봐 binaryTree.mjs, avlTree.mjs 모두 첨부해주신 파일로 복붙해서 테스트해도 같은 오류가 떠요
어떤 부분이 잘못된걸까요?
답변 1
1
안녕하세요 lyy님!
removeHelper에서 두 번째 매개변수 data를 제거하셨는데 해당 오류가 발생하셨군요.
이렇게 오류가 발생한 이유는 호출하는 부분에서 data를 전달해서 그런 것 같습니다.
removeHelper에서 data를 제거하고 싶다면 remove() 함수 내 135번 라인의 removeHelper를 호출하는 부분에서 두 번째 매개변수 data도 같이 지워주셔야 합니다.
targetRootNode = this.removeHelper(targetRootNode, data, parentNode); // 변경 전
targetRootNode = this.removeHelper(targetRootNode, parentNode); // 변경 후
해당 부분으로 변경 후 다시 실행해보시겠어요? 🙂
다시 에러가 생긴다면 에러 메시지 알려주시면 같이 고민해보겠습니다!
잘 되네요. 감사합니다~