2017-11-03 3 views
-5

코드는 다음과 같습니다어떻게 파이썬 코드를 자바 스크립트로 다시 작성할 수 있습니까? 파이썬에서

나무입니다
def trimTree(tree): 
    p=tree[1] 
    if type(p) == type(""): return p 
    else : 
     return(trimTree(p[0]),trimTree(p[1])) 

여기서

[ 
    13, 
    [ 6, [ 3, [Object], [Object] ], [ 3, 'a' ] ], 
    [ 7, [ 3, 'b' ], [ 4, [Object], [Object] ] ] 
] 

내가 오류가 발생했습니다 변환 할 때 :

TypeError: Cannot read property '0' of undefined

어떻게해야합니까?

+2

당신은 당신이 이미 시도했습니다 자바 스크립트를 포함하도록 게시물을 편집 할 수 있습니까? 아무도 당신이 지금까지 주신 것을 도울 수 없습니다. – DaveyDaveDave

+0

우리는 잘못된 자바 스크립트 코드가 어떻게 생겼는지 추측해야합니까 ??? 죄송합니다. 수정 구슬이 수리 중입니다 ... –

+0

아, 예 FWIW :이 Python 스 니펫은 완전히 관련성이 없습니다 (문제는 자바 스크립트 코드로, 아무도 신경 쓰지 않고 다른 것에서 포팅되었습니다). 완전히 부서졌다. –

답변

0

올바른 데이터 구조를 사용하면 모든 노드의 길이가 두 개의 요소만으로 이루어 지므로 첫 번째 순서로 값 목록을 가져옵니다 (결과는 문자열 임).

function trimTree(tree) { 
 
    var p = tree[1]; 
 
    return typeof p === 'string' 
 
     ? p 
 
     : trimTree(p[0]) + trimTree(p[1]); 
 
} 
 

 
var data = [ 
 
     13, 
 
     [ 
 
      [6, 
 
       [ 
 
        [3, 
 
         [ 
 
          [1, 'X'], 
 
          [2, 'Y'] 
 
         ] 
 
        ], 
 
        [3, 'a'] 
 
       ] 
 
      ], 
 
      [7, 
 
       [ 
 
        [3, 'b'], 
 
        [4, 
 
         [ 
 
          [2, 'Z'], 
 
          [2, 'Q'] 
 
         ] 
 
        ] 
 
       ] 
 
      ] 
 
     ] 
 
    ]; 
 

 
console.log(trimTree(data));

관련 문제