LIFO
Last In First Out
class Stack {
arr;
constructor() {
this.arr = [];
}
push(data) {
this.arr.push(data);
}
pop(index) {
if (index === this.arr.length - 1) { // 꺼내려고하는 index가 배열의 마지막 인덱스인지 확인
return this.arr.pop(); // 마지막 인덱스면 pop을 사용해서 꺼낸다.
}
// 그렇지않을 경우 해당하는 인덱스를 배열의 기존 요소에서 삭제
let result = this.arr.splice(index, 1);
return result;
}
empty() {
if (this.arr.length === 0) return true;
else return false;
}
top() { // 가장 마지막에 들어온값을 리턴
return this.arr[this.arr.legnth - 1];
}
bottom() { // 가장 처음으로 들어온값을 리턴
return this.arr[0];
}
}'JavaScript > JavaScript' 카테고리의 다른 글
| SolidJS 살펴보기-1 (0) | 2024.07.04 |
|---|---|
| 창, 탭, 프레임, iframe 간의 통신 / Broadcast Channel API (2) | 2024.03.16 |
| RxJS Observable / of / from / lastValueFrom / concatMap, toArray (1) | 2023.11.24 |
| Pub-Sub(발행-구독) Pattern / Publish-Subsribe Pattern (0) | 2023.11.19 |
| JavaScript call apply bind 살펴보기 (0) | 2023.05.10 |