Javascript - Array
자료구조
- 비슷한 타입의 데이터(object)들을 묶어서 한곳에 보관해 놓는 것
- 어떤 방식/형식으로 데이터를 담냐에 따라서 굉장히 많은 타입이 존재
- 객체는 서로 연관된 특징과 행동들을 묶어 놓은것들을 의미 (자료구조와 다름)
- 삽입, 검색, 정렬, 삭제를 고려해서 자료구조중 가장 효율적인 것을 사용하는것이 중요
- 자료구조중 하나가 배열
1. 배열 선언 방법(Declaration)
const arr1 = new Array();
const arr2 = [1, 2];
2. 인덱스 접근 방법 (Index position)
const fruits = ["🍎", "🍌"];
console.log(fruits);
console.log(fruits.length);
console.log(fruits[0]);
console.log(fruits[1]);
console.log(fruits[fruits.length - 1]); //배열의 가장 마지막
3. 배열 반복(Looping over an array)
- for
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
- for of
for (let fruit of fruits) {
console.log(fruit);
}
- forEach(callback 함수를 받아옴)
forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;
- callback함수 인자는 3가지 - value , index, array
- thisArg? 되어있으면 파라미터를 전달해도 되고 안해도 됨
fruits.forEach(function (fruit, index, array) {
console.log(fruit, index, array);
});
//보통 anonymous function일 경우, arrow 함수로 표기 가능
fruits.forEach((fruit) => console.log(fruit));
4. 배열 추가 / 삭제 / 복사 (Addtion, deletion, copy)
- push : 배열 끝에 추가
fruits.push("🍋", "🍇", "🍓");
console.log(fruits);
2) pop : 끝에서 배열 제거
fruits.pop();
console.log(fruits);
3) unshift : 배열 맨앞에 추가
fruits.unshift("🍒", "🍑");
console.log(fruits);
4) shift : 배열 첫요소 제거
fruits.shift();
console.log(fruits);
- unshift와 shift는 배열을 수정하기 위해 첫번째 값을 두번째 배열로 옮긴 다음 첫번째 배열에 값을 넣기 때문에 시간이 소요됨.
- concat : 여러개의 array 합치기
const fruits2 = ["🍊", "🍍"];
const newFruits = fruits.concat(fruits2);
console.log(newFruits);
5. 검색(Searching)
- indexOf
console.log(fruits);
console.log(fruits.indexOf("🥝"));
console.log(fruits.indexOf("🍇"));
- includes : 특정 문자열 포함 여부
console.log(fruits.includes("🍋"));
console.log(fruits.includes("🍎"));
3) lastIndexOf
fruits.push("🍑");
console.log(fruits);
console.log(fruits.indexOf("🍑"));
console.log(fruits.lastIndexOf("🍑"));
출처 : 드림코딩 by 엘리 https://youtu.be/yOdAVDuHUKQ