배열이란 순서가 있는 데이터를 저장할 때 쓰는 자료구조이다. javascript에서의 배열은 일곱가지 원시자료형 중 하나인 객체형에 속해, 객체 처럼 동작한다.
이제부터 학습목표를 차근 차근 살펴 보자.
let number = [1, 2, 3, 4, 5]; // 배열 작성법
//대괄호 안에 숫자 하나 하나를 요소(element)라고 한다.
number[2];//3이 출력된다.
//number에서 2번째 인덱스(index)값을 가져온다.
number[2] = 6; // [1,2,6,4,5] 가 출력된다.
//2번째 인덱스 값을 3--->6으로 바꾼다.
number.length //5가 출력된다.
//number의 길이가 출력된다.
number.push(6)//[1,2,3,4,5,6]가 출력된다.
//배열의 맨끝 요소가 추가된다.
number.pop//[1,2,3,4]가 출력된댜.
//배열의 맨끈 요소를 삭제한다.
number.shift//[2,3,4,5]가 출력된다.
//배열의 맨앞요소가 삭제된다.
number.unshift(0)//[0,1,2,3,4,5]
//배열의 맨앞요소가 추가된다.
배열은 반복문을 활용하여 많이 쓰인다.
예를 들어 number의 n번째 인덱스를 출력하라. 라는 문제를 만났을때
let number = [1, 2, 3, 4, 5]
for(let i = 0; i<number.length; i++){
//초기값 = 0번째 인덱스 부터 시작한다.
//조건문 = 해당 배열의 길이보다 작을 때까지 반복된다.
//증감문 = 1씩 증가한다.
console.log(number[i]);
}
배열의 인덱스의 합을 구하는 문제를 만났을땐!
let number = [1, 2, 3, 4, 5]
let sum = 0
for(let i = 0; i<number.length; i++){
sum = sum + number[i]
//0 + 1 sum + number[0]
//1 + 2 sum + number[1]
//3 + 3 sum + number[2]
//6 + 4 sum + number[3]
//10 + 5 sum + number[4]
//이렇게 반복문이 들어갈때마다 누적값을 sum에 할당하여 더해준다.
//그래서 최종 sum의 값은 15가 된다.
}
let number = [1, 2, 3, 4, 5]
를 콘솔창에 typeof number을 치게 되면 'object'로 나오게 된다.
그래서 배열인지 객체인지 구분을 해야한다. 여기서 Array.isArray()라는 메소드를 쓸 수 있다.
Array.isArray라는 메소드는 배열인지 확인을 해주는 메소드이다. 만약 배열이면 true가 리턴되고 배열이 아닐경우 false값을 리턴해준다.
요소를 찾을땐 ---> .indexOf()
let number = [1, 2, 3, 4, 5]
만약 number 이라는 배열이 있다고 가정하자.
number 이라는 배열에 3이라는 숫자가 포함되어 있는 알고싶을때?
number.indexof(3)//2가 출력된다.
//3이 들어가 해당 인덱스가 출력된다.
//만약 배열안에 해당 숫자가 없을 땐 -1이 출력된다.
number.indexof(3) !== -1// true가 출력된다.
number.indexof(6) !== -1// false가 출력된다.