배열은 순서가 있는 값이다. 여기서 값은 요소(element) 라고 부르며, 순서는 인덱스(index)라고 부른다. 인덱스는 0부터 번호를 매기게 된다.
예를 하나 들어,
let myNumber = [73, 98, 86, 61, 96];
이런식으로 배열을 정의한다. 대괄호 [] 를 이용해 배열을 만들고, 각 요소는 쉼표로 구분한다.
여기서 myNumber라는 배열의 3번째 인덱스를 조회하려면
myNumber[3]; //61
이 되게 된다.
여기서
myNumber[3]= 100;
으로 할당하여
myNumber = [73, 98, 86, 100, 96]
으로 만들어 줄 수도 있다.
여기서
myNumber.length; //4
로 배열의 길이를 알아낼 수도 있다.
만약, 배열에 값을 추가하고 싶다면
myNumber.push(1);
을 한다면
myNumber = [73, 98, 86, 100, 96, 1]
으로 배열에 값을 추가할 수도 있다.
또, 배열에서 값을 삭제하고 싶을 수도 있다. 이때는
myNumber.pop()
으로 마지막 값을 삭제할 수도 있다.
이 경우,
myNumber = [73, 98, 86, 100, 96]
으로 다시 되돌아갈 것이다.
여기에서, 또 맨앞의 엘리먼트를 삭제하고 싶을수도 있는데, 이때는
myNumber.shift()
를 이용할 수 있다.
반대로 맨 앞에 추가하고 싶을때는
myNumber.unshift()
를 사용할 수 있다.
배열의 안에 어떤 값이 있는지 없는지 확인하고싶다면
배열이름.indexOf()
를 사용할 수 있다.
배열 안에 ()안의 값이 있다면, 몇번째에 있는지 숫자가 나오게 되고, 없다면 -1이 나오게 된다. 이를 이용해 어떤 값이 배열 안에 있는지 없는지 true, false로 확인하고 싶다면
배열이름.indexOf(찾고자하는값) !== -1
을 한다면, 값이 있다면 true가, 없다면 false가 나오게 될것이다.
이것을 기본 내장된 메서드를 활용한다면
배열이름.includes()
로도 사용 가능하다.
typeof를 이용해 배열을 판별한다면, object로 나오게 된다. 이는 배열인지, 오브젝트인지 알 수 없는데, 그때문에 배열을 판별할때는 또다른 메서드를 사용하게 된다.
Array.isArray()
이 메서드는 ()안이 배열이어야 true값이 나오고, 배열이 아니라면 false값이 나오게 된다.