배열 (Array)
다량의 데이터를 다룰 수 있는 데이터 타입.
- 순서(index)에 대한 정보를 가진 자료구조
- 대괄호
[]
를 사용하며, 각각의 요소는 쉼표,
로 구분한다.
- 실제로 들어가는 값을 요소(element)라 부름
- 순서는 인덱스(index)라 부르며, 0부터 시작한다.
- 배열 내의 값으로도 배열이 들어 갈 수 있다.
배열 활용법
배열 내부의 값은 인덱스를 사용해 접근, 변경이 가능하다.
let myNum = [73, 98, 86, 61, 96]
myNum[3]; // 61
myNum[3] = 200; // 세번째 인덱스 값에 200 할당
myNum; // [73, 98, 86, 200, 96]
let myNumber = [[13, 30], [73, 8], [44, 17]];
myNumber[0]; // [13, 30]
myNumber[1][0] // 73
.length
: 배열의 길이 확인 가능
.push()
: 배열 끝에 새로운 요소을 넣을 수 있음
.pop()
: 배열 마지막 요소을 삭제
.shift()
: 배열 첫 번째에 요소을 삭제
.unshift()
: 배열 첫 번째에 요소를 추가
.splice(index, deleteCount, Value)
: 특정 인덱스 다음에 요소를 추가/삭제 →start
에는 추가 될 순서의 index 입력 →deleteCount
에는 삭제 할 요소의 갯수를 입력. 0인 경우 제거하지 않음 →Value
에는 추가 할 요소를 입력. 만약 입력하지 않을 경우 앞의 조건에 따라 제거만 함
변수가 배열인지 판별하는 Array.isArray()
변수나 값의 타입은 typeof
를 사용하면 확인 할 수 있지만 배열과 객체는 모두 object 라는 결과값이 나온다. 이 때 Array.isArray()
를 사용하면 배열인지를 확인하여 불리언 값을 도출한다.
배열에 특정 값이 포함되어 있는지 확인하기
.indexOf()
: 배열 내에 포함된 요소를 입력하면 인덱스를 찾아준다. 아무 것도 없으면-1
을 도출한다.
.includes()
: 배열 내에 포함된 요소가 있는지 판단하여 불리언 값을 도출한다. 단, IE에서는 사용 할 수 없다.
여러 배열을 하나로 합치는 방법
- 새로운 배열 선언 후 배열 내부에
...array1, ...array2
와 같은 방식으로 입력한다.
array.concat()
메소드를 사용한다. ex)array1.concat(array2)
배열 내의 값을 하나의 문자열로 연결하는 Array.join()
해당 메서드를 사용하면 배열 내의 값을 모두 연결해 하나의 문자열 값을 도출한다. 기본 값은 쉼표,
로 연결하고 괄호()
안에 특정 문자열을 입력하면 값과 값 사이에 해당 문자열을 넣어서 출력한다.
배열을 복사하거나 잘라낼 때 사용하는 .slice()
배열은 JavaScript에서 Mutable type 이기 때문에, 재할당 시 원시형 타입과 달리 새로 데이터 공간을 할당하지 않고 변경된다. 만약 새로운 배열이 필요 할 경우 .slice()
를 사용할 수 있으며 일부를 추출해야 할 경우 .slice(start, end)
에 각각 시작 index, 끝 index(해당 index를 포함하지 않음)을 입력해 새로운 배열로 추출할 수 있다.
배열과 반복문의 활용
인덱스와 .length 를 활용해 반복문에 적용할 수 있다.
let myNum = [73, 98, 86, 61, 96];
for(i = 0; i < myNum.length; i++){
console.log(myNum[i]);
}
let myNum = [10, 20, 40, 10];
let sum = 0;
for(i = 0; i < myNum.length; i++){
sum = sum + myNum[i];
}
객체
배열과 마찬가지로 다량의 데이터를 다룰수 있는 데이터 타입이나 내부에 접근 할 때 인덱스가 아닌 의미를 가진 키(Key)을 지정하여 접근 할 수 있다.
- 중괄호
{}
를 사용하며, 키(Key)와 값(Value)는 콜론:
으로 구분한다.
- 키-값 쌍(key-value pair)는 쉼표
,
로 구분한다.
객체의 값을 사용하는 방법
추가와 사용, 삭제
객체 내에 정의 된 키를 이용해 값을 가져온다. 정의되지 않은 키와 값을 아래의 형식으로 입력하면 객체에 추가된다. 앞에 delete
를 포함해 입력하면 키-값 쌍은 삭제된다.
let user = {
firstName: 'Steve',
lastName: 'Lee',
email: 'steve@mail.com',
city: 'seoul'
};
// dot notation
user.firstName; // 'Steve'
user.city; // 'seoul'
// bracket notation
user['lastName']; // 'Lee'
user['email']; // 'steve@mail.com'
// delete
delete user.city; //{ firstName: 'Steve', lastName: 'Lee', email: 'steve@mail.com' };
- Dot notation
Object.Key
Array.length
처럼 속성을 가져오는 방식으로 값을 가져온다.
- Bracket notation
Object[Key]
Array[Index]
처럼 키를 입력해 값을 가져온다. 이 때 키는 문자열‘’
형태로 입력한다.- ⚠️ 문자열 형태로 입력하지 않으면 다른 선언된 데이터를 참조한다 (변수, 전달인자 등) → 반대로 말해, 특정되지 않은 객체를 받아서 사용해야 하는 경우 이런 특성을 활용 가능
in 연산자를 이용해 키 존재 유무 확인
‘Key’ in Object
의 형식으로 입력하면 내부에 값이 있는지 확인하여 불리언 값을 도출한다.
let user = {
firstName: 'Steve',
lastName: 'Lee',
email: 'steve@mail.com',
city: 'seoul'
};
'city' in user; // true
'age' in user; // false
Uploaded by N2T