[Array - VanillaJS] 배열 만들어보기

2020. 5. 21. 13:48컴퓨터언어/자료구조&알고리즘

728x90
반응형
class myArray {
  constructor() {
    this.length = 0;
    this.data = {};
  }

  get(index) {
    return this.data[index]
  }

  push(item) {
    this.data[this.length] = item;
    this.length++;
  }

  pop() {
    const data = this.data[this.length-1];
    delete this.data[this.length-1];
    this.length--;
    return data;
  }

  delete(index) {
    const item = this.data[index];
    this.shiftItems(index);
  }

  shiftItems(index) {
    for (let i=index; i<this.length-1; i++) {
      this.data[i] = this.data[i+1];
    }
    delete this.data[this.length-1];
    this.length--;
  }
}

const newArray = new myArray()

newArray.push("my")
newArray.push("name")
newArray.push("is")
newArray.push("john")
newArray.push("haha")
newArray.push("so what")
newArray.delete(4)
console.log(newArray.pop())
console.log(newArray)

 

*pop() 메서드는 기존 배열의 맨 마지막 원소만 빼고, 다시 저장해준다.

그리고 원래 호출한 곳으로 return 값으로 방금 뺀 원소를 보여준다.

728x90
반응형