2012-11-14 2 views
0

이것은 응답되었을 수 있지만 검색했습니다. JS 파일에서노드가 더 깊게 하위 오브젝트를 로깅하지 않습니다.

:

console.log({ 
    a: 1, 
    b: { c: 1}, 
    d: [{e:1},{f:1}], 
    g: [{h:[1,2,3]}] 
}); 

이 실제로 인쇄 것입니다 :

{ a: 1, 
    b: { c: 1 }, 
    d: [ { e: 1 }, { f: 1 } ], 
    g: [ { h: [Object] } ] 
} 

공지 사항 '시간'값을, 나는이를 인쇄 할 수 있습니까? 당신은 그것을 반복하는 for loop을 사용할 수 있습니다

답변

1
  1. 그것은 당신이에 인쇄 할 수있는 깊이를 지정할 수 있습니다 util.inspect()

    에 대한 문서를 읽기 : The default is to only recurse twice. To make it recurse indefinitely, pass in null for depth.

    console.log(util.inspect(yourObj, true, null));

  2. console.dir()util.inspect()을 사용하지만 inspect() 전화를 수정하는 매개 변수를 표시하지 않습니다라고 부를 수있는,이 기능을 사용하려면, 그래서 아마 단지 같이 Recurse 두 번, 너무 것.

1

..

var obj = { 
    a: 1, 
    b: {c: 1}, 
    d: [{e: 1}, { f: 1}], 
    g: [{ h: [1, 2, 3]}] 
}; 

var data = obj.g[0].h ; 

for(var i =0; i <data.length ; i++){ 
    console.log(data[i]) 
}​ 

Check Fiddle

+0

jQuery에 대한 언급이 전혀 없는데 jQuery가 대답하는 이유는 무엇입니까? –

+0

나는 수동으로 아무 것도 반복하고 싶지 않습니다. (위의 예는 객체 였고 객체는 임의적이었습니다.) console.log()로 ENTIRE 객체를 인쇄하고 싶습니다. – Mike

+0

콘솔에서 그런 식으로 인쇄 할 수는 없습니다. –

1

나는 이것을 달성하기 위해 JSON.stringify()을 사용했다. 매개 변수를 사용하여 포맷을 결정할 수있다.

위에서 설명한대로 util.inspect()도 작동합니다.

+0

멋진 생각입니다. 생각하지 않았습니다. – rdrey

관련 문제