[JavaScript] 배열

dooboocookie·2022년 9월 29일
0

JavaScript

목록 보기
6/15
post-custom-banner

배열(Array)

  • 인덱스에 대한 요소들을 갖고 있는 여러 데이터의 집합
    • typeof 배열 : object
      • 배열은 객체에 속하지만 순서와 길이가 있다는 차이가 있음
  • 배열 선언
    • const 배열명 = [];
const family1 = []; 
// let, var로도 선언 가능하지만 주로 const로 선언
family1[0] = '두부';
family1[1] = '쿠키';
family1[2] = '경환';
// 선언 시, 크기를 지정하지 않고 요소를 추가할 수 있음
//인덱스는 0부터 시작
const family2 = ['두부', '쿠키', '경환']
// 선언 시, 요소를 같이 선언할 수 있음

배열 정렬

  • 기본적으로 sort()라는 함수를 사용해서 정렬
    • default는 오름차순
  • 내림차순 정렬
    • compare 함수
    • localeCompare() 함수 - 문자열 비교
const test = ['a','c','e','b','d'];
// 1. compare 함수
// 오름차순
test.sort(function compare(a, b) {
  if (a > b){
    return 1;
  }
  if (a < b){
    return -1;
  }
  //a must be equal to b
  return 0;
});
// 내림차순
test.sort(function compare(a, b) {
  if (a < b){
    return 1;
  }
  if (a > b){
    return -1;
  }
  //a must be equal to b
  return 0;
});
//2. localeCompare() 이용
// 오름차순
test.sort(function compare(a, b) {
  return a.localeCompare(b);
});
// 내림차순
test.sort(function compare(a, b) {
  return b.localeCompare(a);
});
//2-2. 람다식 표현
// 오름차순
test.sort((a,b)=>a.localeCompare(b));
// 내림차순
test.sort((a,b)=>b.localeCompare(a));
  • number 정렬
    • 각각 비교 요소의 가장 첫자리씩 비교
    • 1, 2, 5, 30, 100 을 정렬 시
      • 1, 100, 2, 30, 5로 오름차순 정렬됨
    • compare 함수 필요
const test = [1, 5, 2, 100, 30];
// 오름차순
test.sort(function compare(a, b) {
    return a - b;
});
//내림차순
test.sort(function compare(a, b) {
    return b - a ;
});

속성 및 함수

  • Array.length
    • 배열의 길이(== 요소의 개수)를 반환
  • Array.isArray()
    • 대상이 배열인지 판별하여 반환
      • typeof연산자로는 배열은 object로 반환
  • 요소 추가 및 삽입
요소 추가
push() 배열의 맨 뒤 새 요소 추가
unshift() 배열의 0번째 요소로 추가
원래 요소들을 한 인덱스씩 뒤로 미룸
요소 제거
pop() 배열의 마지막 인덱스 요소를 제거하고 그 값을 반환
shift() 배열의 0번쨰 요소를 제거하고 그 값을 반환
나머지 요소들을 한 인덱스씩 앞으로 당김
splice(idx,n,e1,e2,...) idx번째 인덱스 부터 n개의 요소를 제거 후
e1, e2, ... 의 값을 요소로 추가
n을 0 주면 삽입만 / e1, e2,... 생략 시 삭제만
배열 반환
slice(from,to) from번째 인덱스 부터 to번쨰 인덱스 전까지 요소들을 잘라 배열로 반환
원래 배열 유지
concat(a,b) a배열과 b배열을 이어서 새로운 배열을 반환
요소 검색
includes(val) val값이 배열에 있는지 판별하여 true,false값을 반환
indexOf(val) val값을 배열에서 검색하여 그 인덱스 값을 반환
없으면 -1
profile
1일 1산책 1커밋
post-custom-banner

0개의 댓글