filter 메서드

오주형·2022년 10월 2일
0
  • 예제 27-112
class Users {
  constructor() {
    this.users = [
      { id: 1, name: 'Lee' },
      { id: 2, name: 'Kim' }
      ];
  }
  
  //요소 추출
  findById(id) {
    // id가 일치하는 사용자만 반환한다.
    return this.users.filter(user => user.id === id);
  }
  
  //요소 추출
  remove(id) {
    // id가 일치하지 않는 사용자를 제거한다.
    return this.users.filter(user => user.id !== id);
  }
}

const users = new Users();

let user = users.findById(1);
console.log(user); // [{ id: 1, name: 'Lee' }]

// id가 1인 사용자를 제거한다.
users.remove(1);

user = users.findById(1);
console.log(user); // []
  • filter 메서드를 사용해 특정 요소를 제거할 경우, 특정 요소가 중복되어 있다면 중복된 요소가 모두 제거된다.
  • 특정 요소를 하나만 제거하려면 IndexOf 메서드를 통해 특정 요소의 인덱스를 취득한 다음, splice 메서드를 사용한다. (27.8.8절 참고)
profile
곧 개발자

0개의 댓글