자바스크립트 끄적끄적

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

코딩질문자 2022. 8. 21. 20:22
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