2014-06-16 2 views
-3
var v = { 
    test: { 
     test1: { 
      test11: '123', 
      test12: '234' 
     }, 
     test2: { 
      test21: '345', 
      test22: '567' 
     } 
    } 
} 

test.test2.test22은 어떻게 얻을 수 있습니까? 이 개체 값은 아래처럼 자신을 외쳐야합니다.JSON에서 객체 배열의 값을 얻는 방법 Obejct

var v = { 
    test: { 
     test1: { 
      test11: '123', 
      test12: '234' 
     }, 
     test2: { 
      test21: '345', 
      test22: '567' 
     } 
    } 
} 
var gv = 'test.test2.test22'; 
var gv_split = gv.split('.'); 
console.log(v[gv_split[0]][gv_split[1]][gv_split[2]]); 

일부 분할 기능을 사용하는 개체에서 값을 가져온 것과 같습니다.

+1

당신은 매우 불명확합니다 ... 문자열 'gv'를 'v'와 비슷한 형식의 객체로 조작하고 싶습니까? – webkit

+0

값을 가져 오기 위해 test.test2.test22를 할 수 없습니까? –

+1

가'gv.split ('.');'로 변경되었습니다. 출력 : '567'. 참고로 질문을 게시하기 전에 오류가 없는지 확인하십시오. 예인 경우도 게시하십시오 –

답변

0

처럼 뭔가를하려고하면 나는이 게시물 아래에 답

var v = { 
    test: { 
     test1: { 
      test11: '123', 
      test12: '234' 
     }, 
     test2: { 
      test21: '345', 
      test22: '567' 
     } 
    } 
} 
var gv = 'test.test2.test22'; 
var gv_split = gv.split('.'); 
console.log(v[gv_split[0]][gv_split[1]][gv_split[2]]); 

(또는)

생각 잘 작동 중입니다. Underscore.js findWhere nested objects

0

이 하나 다른 옵션은 ...

var values = {name: 'misko', gender: 'male'}; 
    var log = []; 
    angular.forEach(values, function(value, key) { 
     this.push(key + ': ' + value); 
    }, log); 
    expect(log).toEqual(['name: misko', 'gender: male']); 
+0

나는 angularjs 모델처럼 갔다. 그 이유는 그것을 모델 이름으로 사용했기 때문입니다. v.test.test2.test22이 모델 이름 ... 지시어를 호출해야합니다 ... 속성 지시자가 값 지시문을 전달할 때만 ... 모델처럼 사용하지 않습니다. –

관련 문제