[JavaScript] 자료구조와 자료형 - 배열, 배열과 메서드

선영·2022년 10월 30일
0

JavaScript

목록 보기
17/27
post-thumbnail

배열


💬 자문자답

자료구조엔 객체도 있는데, 굳이 배열을 사용하는 이유는 무엇인가?

배열을 사용하는 이유는 순서가 있는 컬렉션을 다루기에 좋은 자료구조이다.

배열로 구현할 수 있는 자료구조엔 큐, 스택이 있다. 각각의 특징에 대하여 설명하라.

큐는 선입선출(First In First Out), 스택은 후입선출(Last In First Out)이다.
배열의 앞에 무언가를 해주는 메서드엔 shift()(배열에서 맨 앞값을 제거하면서 반환함), unshift('추가요소')가 있고,
배열의 끝에 무언가를 해주는 메서드엔 pop()(배열에서 맨 끝요소를 제거하면서 반환함), push('추가요소')가 있다.
큐는 shift(), push() 연산을 사용하고, 스택은 push(), pop() 연산을 사용한다.
맨 앞에 무언가를 해주는 요소보다 맨 뒤에 무언가를 해주는 요소가 더 빠르다.

배열 앞에 무언가를 하는 메서드보다 끝에 무언가를 하는 메서드가 더 빠른 이유에 대해 설명하라.

왜냐하면 자료구조상 맨 앞의 요소를 제거하게 되면, 다음의 단계가 필요하다.
step1. 요소를 제거한다.
step2. arr.length-1만큼 이동한다.
그래서 총 arr.length만큼의 단계가 필요하다.
하지만 맨 뒤의 요소를 제거하게 되면, 위의 step2는 필요하지 않게 되므로 훨씬 빠를 수 밖에 없다는 결론에 이른다.

배열과 메서드


💬 자문자답

배열에는 다양한 메서드가 있다. 이 중 기존의 배열을 건드리지 않으면서 배열을 조작해 새로운 배열을 만드는 방법은 무엇인가?

arr.slice()로 인수를 하나도 넘기지 않고 호출하여 arr의 복사본을 만들 수 있다.

배열의 메서드들 중에 기존 배열을 변형시키는 메서드 세 가지는 무엇인가?

sort, reverse, splice

☑️ 참고


profile
Superduper-India

0개의 댓글