본문 바로가기

자바스크립트 끄적끄적

자바스크립트 filter 이용하는거 까먹지 말자!!

728x90

어떤 트리나 그래프 또는 리스트나 배열을 순회하면서 해당 값을 삭제하고 싶거나, 어떤 조건에 의해 이터레이블 객체 값을 필터링 하고 싶을때 자바스크립트에서 filter만한게 없다.

 

긴장되는 상황에서 바로바로 재깍재깍 떠오르지 않을 수 있지만, 제발 빨리 기억하게 하자!!!

 

class Graph{
    constructor(){
        this.adjacencyList = {};
    }
    addVertex(vertex){
        if(!this.adjacencyList[vertex]) this.adjacencyList[vertex] = [];
    }
    addEdge(v1,v2){
        this.adjacencyList[v1].push(v2);
        this.adjacencyList[v2].push(v1);
    }
    removeEdge(vertex1,vertex2){
    	// 해당 v값 중에서 vertax2가 아닌거만 받고 싶을 때 사용!!
        this.adjacencyList[vertex1] = this.adjacencyList[vertex1].filter(
            v => v !== vertex2
        );
        // 마찬가지
        this.adjacencyList[vertex2] = this.adjacencyList[vertex2].filter(
            v => v !== vertex1
        );
    }
}

let g = new Graph();
g.addVertex("Dallas");
g.addVertex("Tokyo");
g.addVertex("Aspen");
g.addEdge("Dallas", "Tokyo");
g.addEdge("Dallas", "Aspen");

 

제발~ 빠르게~ 기억하자~~

728x90