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)

  1. for
for (let i = 0; i < fruits.length; i++) {
  console.log(fruits[i]);
}
  1. for of
for (let fruit of fruits) {
  console.log(fruit);
}
  1. 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)

  1. 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는 배열을 수정하기 위해 첫번째 값을 두번째 배열로 옮긴 다음 첫번째 배열에 값을 넣기 때문에 시간이 소요됨.
  1. concat : 여러개의 array 합치기
const fruits2 = ["🍊", "🍍"];
const newFruits = fruits.concat(fruits2);
console.log(newFruits);

5. 검색(Searching)

  1. indexOf
console.log(fruits);
console.log(fruits.indexOf("🥝"));
console.log(fruits.indexOf("🍇"));
  1. 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