Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트로 사전(Dictionary)에서 요소 제거하기

사전(Dictionary)에서 요소를 제거하려면, 먼저 해당 키가 사전에 존재하는지 확인해야 합니다. 이를 위해 hasKey 메서드를 사용하고, 키가 존재하는 경우 delete 연산자로 해당 요소를 바로 삭제할 수 있습니다.

또한 메서드가 Boolean 값을 반환하도록 하면, 호출한 곳에서 해당 키가 실제로 존재했는지 여부를 알 수 있어 코드의 신뢰성을 높일 수 있습니다.

예제: 커스텀 MyMap 구현

delete(key) {
   if(this.hasKey(key)) {
      delete this.container[key];
      return true;
   }
   return false;
}

위 메서드는 다음과 같이 테스트할 수 있습니다.

실행 예제

const myMap = new MyMap();
myMap.put("key1", "value1");
myMap.put("key2", "value2");

myMap.display(); myMap.delete("key2");

myMap.display();

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

{ key1: 'value1', key2: 'value2' }
{ key1: 'value1' }

ES6 Map 객체 사용하기

ES6부터는 내장 Map 객체에서 delete 메서드를 기본으로 제공하므로, 별도의 구현 없이 간편하게 값을 제거할 수 있습니다. 예를 들면 다음과 같습니다.

예제

const myMap = new Map([
   ["key1", "value1"],
   ["key2", "value2"]
]);
myMap.delete("key2");

console.log(myMap.has("key1"))
console.log(myMap.has("key2"))

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

true
false

정리하면, 커스텀 사전 구조에서는 hasKey로 키의 존재 여부를 확인한 뒤 delete 연산자로 안전하게 삭제할 수 있고, ES6 환경이라면 내장 Map 객체의 delete 메서드를 활용하는 것이 가장 간단하고 권장되는 방법입니다.