- Object는 연관된 특징과 행위를 묶은 것
- 자료구조는 Object들을 묶어 놓은 것
- javascript는 dynamically typed language이기 때문에 여러 타입의 object를 묶을 수 있지만 좋지 않은 형태
- 선언
const arr1 = new Array(); const arr2 = [1,2];
- 인덱스 접근
const fruits = ['apple', 'banana']; console.log(fruits.length); // 2 console.log(fruits[0]); // apple console.log(fruits[fruits.length-1]); // 배열의 마지막 접근 banana
- 반복문 사용
// a. for for (let i=0; i < fruits.length; i++){ console.log(fruits[i]); } // b. for of for(let fruit of fruits){ console.log(fruit); } // c. forEach fruits.forEach((fruit,index)=>console.log(fruit,index));
- 추가, 삭제
fruits.push('kiwi'); // 마지막부터 추가 ['apple', 'banana', 'kiwi']; fruits.pop(); // 마지막부터 제거 ['apple', 'banana']; fruits.unshift('orange','lemon'); // 앞에서부터 추가 ['orange','lemon','apple', 'banana'] fruits.shift(); // 앞에서부터 제거 ['lemon','apple','banana'] fruits.push('peach','grape'); // ['lemon','apple','banana','peach','grape'] fruits.splice(1,1); // 인덱스1번부터 1개 제거 ['lemon','banana','peach','grape'] fruits.splice(1,1,'melon','apple'); // 인덱스1번부터 1개 제거하고 그 자리에 melon과 apple 추가 ['lemon','melon','apple','peach','grape'] //combine two arrays const fruits2 = ['pear','lime']; const newFruits = fruits.concat(fruits2); console.log(newFruits); // ['lemon','melon','apple','peach','grape','pear','lime']shift과 unshift는 pop과 push보다 훨씬 느리므로 pop과 push를 사용하는 것이 좋음, splice에서 제거할 갯수를 0으로하고 그자리에 추가만 할 수 있음
- 검색
console.log(fruits.indexOf('lime')); // 6 console.log(fruits.indexOf('banana')); // -1 없는 값에는 -1출력 console.log(fruits.includes('melon')); // true console.log(fruits.includes('banana')); // flase furuits.push('lemon');// ['lemon','melon','apple','peach','grape','pear','lime','lemon'] console.log(fruits.indexOf('lemon')); // 0 중복되면 첫번째 인덱스 출력 console.log(fruits.ㅣlastIndexOf('lemon')); // 7 마지막 인덱스 출력