[javascript] 배열과 객체의 차이점
2021-11-16
배열과 객체의 차이점
자바스크립트에서 값을 담는 그릇. 프로그램을 구조적이고 부품으로서 사용할 수 있음. 로직을 짜는 부품으로 사용할 수 있음. 배열은 ['a', 'b', 'c'] index로 number가 생김... 객체는 ['a', 'b', 'c'] index로 first, second 등으로. 지정할수있음 ```jsx ['a', 'b', 'c'] // index 0, 1, 2... {'egoing': 10, 'k8805': 6, 'sorialgi': 80}; // 객체에서의 index는 문자(egoing, k8805, sorialgi). 보라색은 index들에 해당되는 값. // 즉 key - value ``` 객체를 만드는 방법 ```jsx var grades = {}; // 첫번째 방법 var grades = new Object(); grades['egoing'] = 10; // var grades = {'egoing': 10}; grades['egoing']; // 10 -> 아래와 똑같은 효과인데, 필요에 따라서 대괄호에 넣어서 작성할 수 있음 grades.egoing; // 10 grades.['ego'+'ing']; // 10 grades.'k88'+'05' // syntax error ``` 배열은 저장된 데이터들이 순서를 가지고 있음. 배열에서 추가된 순서라는거 자체가 중요한 정보 다만 객체는 순서가 없고, 추가된것도 저장된 순서가 없음 key가 있고 value가 있음 key:value의 쌍이 순서가 없음 ⇒ 배열의 원소의 값은 index고 객체의 원소의 값은 key: value이다. 배열에 있는 값을 가져올때는 for in 문 ```jsx var grades = { 'egoing': 10, 'k8805': 6 }; // grades 객체의 원소의 값 중 element의 key를 가지고옴. for(key in grades){ document.write("key:"+key+"value:"+grades[key]+""); } for(key in grades){ console.log(grades.key); } // undefined => key가 변수역할을 안하니깐. for(key in grades){ console.log(grades[key]); } // egoing, k8805 => key에 변수가 들어가서 'egoing', 'k8805'가 들어가니깐. var arr = ['a', 'b', 'c']; for(var name in arr){ console.log(name); } // 0, 1, 2 (arr 배열의 원소의 값인 index를 가지고 옴) for(var name in arr){ console.log(arr[name]); } // a, b, c ``` 데이터를>