키 와 value

원본 링크:http://www.cnblogs.com/jyjin/p/4180455.html
> 어젯밤 에 본의 아니 게 아래 구조 와 비슷 한 코드 의 수치 추출 문 제 를 보고 관심 을 끌 었 습 니 다. 시간 이 좀 걸 려 서 demo 를 써 서 여러분 께 공유 해 드 렸 습 니 다.
1   var obj = [
2     {"2011":{"name":"jyjin","age":20}},
3     {"2012":{"name":"jyjin","age":21}}
4   ];
5 
6   var obj1 = {
7     "2013":{"name":"jyjin","age":22},
8     "2014":{"name":"jyjin","age":23}
9   };

 
> 위의 구 조 를 자세히 살 펴 보면 위의 두 가지 구 조 는 전통 적 인 json 이나 배열 데이터 구조 와 약간의 차이 가 있 음 을 발견 할 수 있 습 니 다. 2011, 2012, 2013, 2014 등 키 값 이 중간 '키' 에 대한 곳 에 도 데 이 터 를 저장 하 는데 이런 방식 은 파일 의 저장 을 크게 줄 일 수 있 습 니 다.그래서 나 는 값 을 뽑 을 때 흥분 했다. 다음은 값 을 뽑 는 방식 에 대해 토론 해 보 자.
> \ # 1. 키 값 대 이해 기법 > 위의 어떤 데이터 구조 든 배열 이 든 대상 이 든 키 값 대 를 가 려 야 합 니 다. 제 기 교 는 먼저 짝 퉁 을 찾 는 것 입 니 다. *콜론 왼쪽 은 key 이 고 오른쪽 은 value 입 니 다. 콜론 이 없 는 기본 key 는 0 부터 차례대로 증가 합 니 다. 디 스 플레이 값 은 value * 입 니 다.> 그렇게 이해 하기 어렵 지 않다
  
1 obj  key value
2     0 {"2011":{"name":"jyjin","age":20}}
3     1 {"2012":{"name":"jyjin","age":21}}
4 
5 obj1  key value
6     2013 {"name":"jyjin","age":22}
7     2014 {"name":"jyjin","age":23}

 
> obj 의 value 를 뚜렷하게 발견 하고 key 와 value 를 세분 화 하 는 것 이 obj 1 의 key, value 구분 구조 입 니 다.
> \ # 2. 키 값 이 맞 는 값    1. for - in - ---------------------------------------------------- for - in 의 정확 한 이해 방식 은 for (var key in obj) 이다. 그 중에서 obj 는 js 대상 이나 배열 이다. 나 는 key 를 사용 하 는 것 은 value 값 이 아니 라 key 값 을 더욱 명확 하 게 가리 키 기 위해 서 이다.그래서 for - in 으로 배열 을 옮 겨 다 니 는 거 예요.   나 온 값 은 배열 아래 표 시 됩 니 다. js 대상 을 옮 겨 다 니 는 결 과 는 대상 속성 명 입 니 다.
        
 1        for(var key in obj){
 2           console.log(key);
 3         }
 4            :
 5         0
 6         1
 7 
 8       for(var key in obj1){
 9         console.log(key);
10       }
11            :
12         2013
13         2014

 
2. $. each () ------------------------------------------ jQuery 에서 $. each () 방법 은 키 값 이 맞 는 좋 은 방법 으로 이해 할 수 있 습 니 다. each (obj, function (key, value) {...}), obj 는 js 대상 이나 배열 일 수 있 습 니 다. key 와 value 는 각각 이름 값, 키 값 에 대응 합 니 다.여기 서 아주 나 쁜 습관 은 function (i, data) 로 쓰 는 것 입 니 다. 여기 서 i 대표 배열 의 아래 표, data 요소 값 으로 잘못 이해 하기 쉽 습 니 다. 사실은 이런 이 해 는 완전히 잘못된 것 입 니 다!
  
 1       $.each(obj,function(key,value){
 2         console.log(key+":"+value);
 3       });
 4            :
 5         0:[object Object] 
 6         1:[object Object]
 7 
 8     
 9 
10       $.each(obj1,function(key,value){
11         console.log(key+":"+value);
12       });
13            :
14         2013:[object Object] 
15         2014:[object Object]
16   
17 
18                  for-in     key,  value   ,         value      。。。
19 
20      3. for-in $-each      obj        :  、  、  
21       
22 
23       $.each(obj,function(objkey,objvalue){
24         $.each(objvalue,function(key,value){
25           console.log(key+":"+value.name+":"+value.age);
26         });
27       });
28       $.each(obj1,function(key,value){
29         console.log(key+":"+value.name+":"+value.age);
30       });
31 
32            :
33         2011:jyjin:20 
34         2012:jyjin:21 
35         2013:jyjin:22 
36         2014:jyjin:23

  
 1        for(var objkey in obj){
 2         $.each(obj[objkey],function(key,value){
 3           console.log(key+":"+value.name+":"+value.age);
 4         });
 5       }
 6       for(var obj1key in obj1){
 7         console.log(obj1key)
 8         $.each(obj1[obj1key],function(key,value){
 9           console.log(":"+value);
10         });
11       }
12 
13            :
14         2011:jyjin:20 
15         2012:jyjin:21 
16         2013
17         :jyjin 
18         :22 
19         2014
20         :jyjin 
21         :23

 
다음으로 전송:https://www.cnblogs.com/jyjin/p/4180455.html

좋은 웹페이지 즐겨찾기