배열 : 순서index가 있는 값value의 나열.
순서 index : 인덱스는 0으로 시작한다. 0부터 번호를 생성
값 value : 인덱스에 대응하는 각각의 원소
ex)
let number = [4, 8, 6, 18]
변수 number는 0~3까지 4개의 인덱스를 가지고 있고
각 인덱스의 값은 아래와 같이 된다.
index 0 = 4
index 1 = 8
index 2 = 6
index 3 = 18
console.log(number) // ▶ (4) [4, 8, 6, 18]
0: 4
1: 8
2: 6
3: 18
length: 4
__proto__: Array(0)
-> (4)는 인덱스바 : 인덱스의 수.
[4, 8, 6, 18] 변수의 값 : 전체 요소가 나온다.
▶를 눌러 자세한 정보를 볼 수 있다.
- 배열에서 할 수 있는 일
1. 값 찾기 : 해당 인덱스의 값이 나온다.
array[index]
2. 값 변경 : 해당 인덱스의 값을 변경 할 수 있다.
array[index] = value
3. 배열의 길이를 알아낼 수 있다. .length
array.length
4. 배열의 끝에 요소를 추가할 수 있다.
array.push() -> 숫자, 문자열, 배열, 객체 등등 들어갈 수 있다.
5. 배열의 끝에 요소를 삭제할 수 있다.
array.pop() -> 괄호 안은 공란
ex)
arrayNumber = [4, 8, 6, 18];
arrayNumber[2]; // 6
arrayNumber[5]; // undefined -> arrayNumber의 인덱스는 0~3까지 있다.
즉, 없는 인덱스를 조회하면 undefined가 나온다.
arrayNumber[1] = 75; // arrayNumber = [4, 75, 6, 18]
arrayNumber.length; // 4 -> 배열의 길이는 인덱스의 수
arrayNumber.push(9); // 5 -> 넣어진 후의 인덱스 수. arrayNumber = [4, 8, 6, 18, 9]
arrayNumber.pop(); // 18 -> 지워지는 요소. arrayNumber = [4, 8, 6]
*.length, .push, .pop 처럼 온점.을 이용하여 관련된 명령(메소드method)을 실행할 수 있다. 명령을 실행할 때는 함수를 실행하듯 괄호()를 열고 닫는 형태로 실행한다.
- 중첩된 배열 : 배열 안에 배열이 들어가 있다.
ex)
arrNumber = [[56, 24], [87, 9, 18]]
console.log(arrNumber) // ▶ (2) [Array(2), Array(3)]
-> 인덱스가 2개있고 각요소가 인덱스 2개와 3개를 갖고 있는 배열이라는 뜻.
검색 []
arrNumber[1]; // [87, 9, 18] -> arrNumber의 첫번째 인덱스값
arrNumber[1][2]; // 18 -> arrNumber의 첫번째 인덱스값의 2번째 인덱스값
길이 .length
arrNumber.length; // 2 -> 부모가 되는 배열의 인덱스의 수
arrNumber[1].length; // 3 -> 안의 배열의 인덱스의 수를 알고 싶다면 인덱스를 지정해서 검색.
추가 .push()
arrNumber.push(61) // -> arrNumber = [[56, 24], [87, 9, 18], 61]
arrNumber.push([94, 61]) // -> arrNumber = [[56, 24], [87, 9, 18], [94, 61]]
arrNumber[0].push(74) // 3 -> arrNumber = [[56, 24, 74], [87, 9, 18]]
제거 .pop()
arrNumber.pop() // ▶ (3) [87, 9, 18] -> arrNumber ▶ [Array(2)] -> arrNumber = [[56, 24]]
arrNumber[0].pop() // 24 -> arrNumber ▶ (2) [Array(1), Array(3)] -> arrNumber = [[56], [87, 9, 18]]
arrNumber[1].pop() // 18 -> arrNumber ▶ (2) [Array(2), Array(2)] -> arrNumber = [[56, 24], [87, 9]]