[javascript : 배열, 객체와 반복문처리]
객체일때 key & value 형태와 배열일때 반복문(for in )에서의 인덱스들이 처리 되는 형태가 다른 프로그램과는 좀 다른 차이가 있습니다
그리고 javascript 에서 특이한 점은 객체를 만들 수있는데 c++ 로 치자면 map 과 유사한 형태로 객체가 만들어진다는 것이고
인스턴스를 하나 만든 이후에 임의의 키를 인스턴시.키명 의 형태로 바로 지정하여 value 를 일괄적인 타입 제한 없이 자유형태로 대입할
수 있다는 것이 다른 프로그램과는 좀 더 확연하게 차이나는 부분입니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | var arr = ['sdfa2323', 'asdfsadf', 'c', function () { console.log("tttt"); }]; var tt = [{ "s": 3 }, { "k": 23 }, { "a": 30 }]; var ob = { "s": 3, "k": 23, "a": 30 }; ob.add = function () { // 나중에 객체에 키가 되는 변수와 값을 추가 할 수 있다 console.log('fffffnnnn'); console.log(this.s); //이때 멤버 변수를 가르킬려면 this. 가 필요함, 없으면 에러 }; console.log('\n==== ob.add() ===\n'); ob.add(); ob['z'] = 10; var ddddd = ob["s"]; // 이런 형태로 값을 갖어 올 수 있음 console.log('\n==== for (var name in ob) ===\n'); for (var name in ob) { //객체의 경우 for in 으로 호출하게 되면 name 에는 key 값이 들어오지만 console.log(name + " " + ob[name]); } console.log('\n=== for (var name in tt) ====\n'); //!! 배열을 for in 구문으로 불러오면 name 에는 배열읠 인덱스가 문자열 형태로 들어오게 된다 for (var name in tt) { console.log(name + " " + arr[name]); } console.log('\n=== forEach(function (item, index) ====\n'); tt.forEach(function (item, index) { //배열을 foreach 로 호출 할 경우 item 값과 index 값을 받아오는 형태로 작성한다 console.log(item," " ,index); }); console.log('\n=======\n'); for (var name in arr) { console.log(name + " " + arr[name]); } console.log('\n=== console.dir(arr) ====\n'); console.dir(arr); |
반응형
'서버(Server) > Server' 카테고리의 다른 글
javascript : 변수 타입과 typeof , 6가지 타입 (0) | 2018.04.20 |
---|---|
javascript : null 과 undefined (0) | 2018.04.20 |
javascript : 함수와, 즉시실행함수로 전역변수 사용하지 않기 (0) | 2018.04.20 |
javascript : 객체와 배열 구분과 사용 (0) | 2018.04.18 |
javascript : 배열 원소 추가, 삭제 방법 - delete, unshift, shift, pop, splice, slice (0) | 2018.04.18 |