정의: 여러 개의 값을 순차적으로 나열한 자료구조
const arr = [1, 2, 3]
arr[0]; // 1
arr[1]; // 2
arr[2]; // 3
배열은 요소의 개수, 즉 배열의 길이를 나타내는 length 프로퍼티를 가지고 있다. 배열에서 가장 높은 인덱스를 추적한다.
const arr = [1, 2, 3]
arr.length // 3
// 9번째 인덱스에 값을 넣을 경우
arr[9] = undefined; // undefined
arr.lenthg; // 10, [1, 2, 3, <6 empty items>, 10]
// 배열의 length를 늘린 경우
arr.length = 20; // 20
arr.length; // 20, [1, 2, 3, <6 empty items>, 10, <10 empty items>]
// 배열 초기화
arr.length = 0; // 0
arr; // []
const squidMembers = ['기훈', '상우', '일남', '주호', '새벽', '알리'];
// push - 배열의 마지막에 요소로 추가
squidMembers.push('덕수'); // ['기훈', '상우', '일남', '주호', '새벽', '알리', '덕수']
// unshift - 배열의 앞에 요소 추가
squidMembers.unshift('미녀'); // '미녀', '기훈', '상우', '일남', '주호', '새벽', '알리', '덕수']
// shfit - 배열의 앞 요소 지우기
squidMembers.shift('미녀'); // unshift 반대, ['기훈', '상우', '일남', '주호', '새벽', '알리', '덕수']
// pop - 배열의 끝 요소 지우기
squidMembers.pop('덕수'); // push 반대, ['기훈', '상우', '일남', '주호', '새벽', '알리']
// indeOf - 배열에서 요소의 인덱스 찾기
squidMembers.indexOf('현석'); // -1 (인덱스에 없다는 뜻 <-- 인덱스 는 0부터 시작)
squidMembers.indexOf('상우'); // 1
squidMembers.lastIndexOf('상우'); // 1 (배열 오른쪽 끝에서 왼쪽 방향으로 검색)
// includes - 배열의 요소 포함 여부 확인
squidMembers.includes('상우'); // true
squidMembers.includes('현석'); // false
// splice - 특정 인덱스 요소 지우기
squidMembers.splice(2, 1); // 2번째 인덱스 다음부터 1개 지움 -> ['일남'] 지워짐