JavaScript & Node.js
#.9 Array
Haksae
2022. 1. 9. 15:37
- 자료구조 : 비슷한 종류의 데이터를 한 곳에 담는 것
- 어떤 방식과 형식으로 데이터를 담는지에 따라 다양한 타입이 있음
- Object와 자료구조의 차이?
- object는 서로 연관된 특징이나 행동을 묶어놓는 것을 말한다.
- 비슷한 타입의 object를 묶어놓는 것을 자료라고 한다
- 보통 자료구조는 동일한 타입의 자료구조만 담을 수 있음 (타입이 있는 언어)
- 그러나 JS는 Dynamically typed language이기 때문에, 다양한 타입의 데이터를 담을 수 있음
- 그러나 이런식으로 개발하는 것은 좋지 않음
1. Declaration
- new Array();
- [ ]; : 선언과 동시에 삽임
const arr1 = new Array();
const arr2 = [1. 2];
2. Index position
- 변수명[index]
const fruits = ['apple', 'banana', 'strawberry'];
console.log(fruits.length); // 3
console.log(fruits.[0]); // apple
console.log(fruits.length -1); // strawberry
3. Looping over an array
// 1. for
const fruits = ['apple', 'banana', 'strawberry'];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i])
}
// 2. for of
for (let fruit of fruits) {
console.log(fruit);
}
// 3. forEach
fruits.forEach(function (fruit, index) {
console.log(fruit, index);
});
// 3. forEach arrow
// annonymous function이라서, 내용이 하나인 경우는 {}도 생략 가능
fruits.forEach ((fruit, index) => console.log (fruit, index));
- forEach
- forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;
- forEach (value, Index, array) : 3개의 argument
- 배열 안에 들어있는 밸류들마다 내가 전달한 함수를 출력
4. Addition, deletion, copy
- 이름.push : 배열 뒤에 아이템 삽입
- .pop : 배열 뒤에 아이템 제거
- .unshift : 배열 앞에 아이템 삽입
- .shift : 배열 앞에 아이템 제거
- 중요
- unshift, shift는 push과 pop보다 실행 속도가 느리다.
- shift, unshift는 기존의 배열의 위치가 변경되기 때문에
- splice(index, delete count) : 특정 인덱스 삭제
- ex ) fruits.splice(1, 3) : index 1부터 3까지 삭제
- delete count 를 지정하지 않으면 index부터 전체 삭제
- splice(index, delete count, ... items) : 해당 인덱스 삭제 후, 그 자리에 아이템 삽입
- ex) fruits.splice(1, 3, 'melon', 'orange')
- combine two arrays
- .concat : 두가지 이상의 배열 합치기
- 기존의 배열들에게 변형이 없다.
- .concat : 두가지 이상의 배열 합치기
const fruit1 = ['apple', 'banana'];
const fruit2 = ['melon', 'orange'];
const fruits = fruit1.concat(fruit2);
console.log(fruits);
5. Searching
- .indexOf('value'): 해당 값의 인덱스를 리턴, 중복 값이 있으면 앞에서부터 가장 가까운 index 리턴
- .lastIndexOf(’value’): 해당 값의 인덱스트 리턴, 중복 값있으면 뒤에서부터 가장 가까운 Index 리턴
- .includes(’value’): 해당 값에 배열이 있으면 boolean 값으로 리턴, (true, 아니면 false)
출처 : 드림코딩엘리 https://www.youtube.com/channel/UC_4u-bXaba7yrRz_6x6kb_w