본문 바로가기

JavaScript

JavaScript의 배열

배열은 다른 프로그래밍 언어에서 배운것과 차이는 없었다

코드스테이츠 부트캠프의 배열 챕터는 알고있는 내용과 크게 다르지 않아서 복습하는 의미가 크다

일딴 배열의 특징으로는 배열의 특징은 인덱스(index)로 배열안의 요소를 찾아내거나 변경할 수 있는 특징이 있고

length 속성을 사용하면 배열의 길이를 알 수 있다

위의 내용은 대부분의 프로그래밍 언어에서 가지는 배열의 공통된 특징같았다

(적어도 내가 배운 언어에서는 모두 일치했다)

 

몰랐던 부분은 내장함수부분이였는데

아무래도 언어마다 내장함수가 다르고 같은 기능을 하더라도 이름이 달라서 이 부분을 집중적으로 공부를 하였다

 

배열에서 사용하는 내장함수로는

  • split(), join(), slice(), splice(), Array.isArray(), push(), unshift(), pop(), shift(), indexOf(), includes()

가 있고

 

과제문제를 해결하기 위해서 배열의 내장함수를 사용했었는데

제일먼저 사용한 함수가

 Array.isArray() 이였다

 

 Array.isArray()는 인자값으로 변수를 넣으면 해당 변수가 배열인지 검사해주는 타입검사용 내장함수였고 이것을 이용해 배열인지 검사하는 문제를 해결했다

 

그 다음으로 사용한 내장함수가

split(' ') 이였고
 
split(' ')함수는 인자값으로 구분자를 입력하여 구분자 기준으로 문자열을 나눠 배열로 바꿔주는 함수였다
 
split('  ') 이처럼 작은따옴표 사이에 빈공간을(스페이스바)를 입력하면 문자열을 띄워쓰기 한 기준으로 나눠주고
 

const str = 'The quick brown fox jumps over the lazy dog.';

const words = str.split(' '); // words는 배열이 되고 [The, quick, brown, fox, jumps, over, the, lazy, dog]

띄어쓰기 기준으로 나뉘어 배열의 요소가 됩니다

문제중 상당한 부분을 split() 함수를 이용하여 문자열을 배열로 바꾸고 문제를 해결하였다 

 

unshift와 shift를 각각 한번씩 사용해서 해결한 문제도 있었다

unshift()는 인자값으로 추가하고싶은 요소를 입력하면 배열의 맨 앞에 추가해주고

shift()는 배열의 제일 앞 요소를 제거해주고 반환해주는 함수였다

 

push()함수도 많이 사용했었는데
 
push()함수는 배열의 끝에 하나 이상의 요소를 추가하는 내장함수였다
 
이 함수를 사용해서 배열에 배열을 더하는 문제들을 많이 해결하였다
 
 
splice()함수를 제일 많이 사용했는데
 
1번쨰 인자값이 시작위치 2번째 인자값이 시작위치부터 몇번이나 요소를 지울지 결정하는것이였고
 
3번째이상부터 인자값부터 요소를 새로 추가할 요소를 결정하는것 이였다
 
우연치않게 오타로 3번째인자를 안썻는데
 
1,2번째만 사용하니 새로운값을 추가하지 않고 원하는 위치부터 원하는 만큼의 요소를 삭제하는 방법을 찾아서 문제를 해결한것도 있었고
 
3번째 인자 말고도 추가로 4,5,6...등등 인자를 계속 추가하여 썼더니 3번째 이후 인자들이 배열의 요소로 각각 추가되는것을 확인하여 이 방법을 이용해서 풀었던 문제도 있었다

함수를 쓸떄 조심해야될점이 원본함수를 복사해서 쓰는경우와 원본함수 자체의 값을 바꿔버리는 함수가 있어서
 
잘 확인해보고 써야될꺼같다
(deep copy, shallow copy 에 대해 좀더 공부해야될꺼같다)
 
문제를 해결하려고 하다보니 mdn의 함수예시말고도 다양한 방법을 찾게되었고 좋은 학습시간이였던거 같다
 
*배열 내장함수 정리*
 
split(),  // 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.
join(),  // 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.
slice(),  // 모든 요소를 연결해 하나의 문자열로 만듭니다
splice(),  // 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다
Array.isArray(),  // 메서드는 인자가 Array인지 판별합니다.
push(),  // 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환합니다
unshift(),  // 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환합니다
pop(),  // 메서드는 배열에서 마지막 요소를 제거하고 그 요소를 반환합니다
shift(),  // 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환합니다
indexOf(),  // 메서드는 배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환
includes() // 배열이 특정 요소를 포함하고 있는지 판별

'JavaScript' 카테고리의 다른 글

프로토타입  (0) 2022.09.21
객체지향 프로그래밍이란?  (1) 2022.09.21
클래스와 인스턴스  (0) 2022.09.21
함수란?  (0) 2022.09.20
변수와 타입  (0) 2022.09.20