Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Remove elements from a Dictionary using Javascript
In JavaScript, there are multiple ways to remove elements from dictionary-like structures. This depends on whether you're working with plain objects, custom dictionary classes, or ES6 Maps.
Using delete Operator with Objects
For plain JavaScript objects acting as dictionaries, use the delete operator:
const dict = {
key1: "value1",
key2: "value2",
key3: "value3"
};
console.log("Before deletion:", dict);
delete dict.key2;
console.log("After deletion:", dict);
console.log("key2 exists:", "key2" in dict);
Before deletion: { key1: 'value1', key2: 'value2', key3: 'value3' }
After deletion: { key1: 'value1', key3: 'value3' }
key2 exists: false
Custom Dictionary Class Method
When implementing a custom dictionary class, check if the key exists before deletion:
class MyDictionary {
constructor() {
this.container = {};
}
put(key, value) {
this.container[key] = value;
}
hasKey(key) {
return key in this.container;
}
delete(key) {
if(this.hasKey(key)) {
delete this.container[key];
return true;
}
return false;
}
display() {
console.log(this.container);
}
}
const myDict = new MyDictionary();
myDict.put("key1", "value1");
myDict.put("key2", "value2");
myDict.display();
console.log("Deleted key2:", myDict.delete("key2"));
myDict.display();
{ key1: 'value1', key2: 'value2' }
Deleted key2: true
{ key1: 'value1' }
Using ES6 Map.delete()
ES6 Maps provide a built-in delete() method that returns true if the key existed:
const myMap = new Map([
["key1", "value1"],
["key2", "value2"],
["key3", "value3"]
]);
console.log("Before deletion:");
console.log("key1 exists:", myMap.has("key1"));
console.log("key2 exists:", myMap.has("key2"));
const wasDeleted = myMap.delete("key2");
console.log("After deletion:");
console.log("key1 exists:", myMap.has("key1"));
console.log("key2 exists:", myMap.has("key2"));
console.log("Deletion successful:", wasDeleted);
Before deletion: key1 exists: true key2 exists: true After deletion: key1 exists: true key2 exists: false Deletion successful: true
Comparison of Methods
| Method | Structure | Returns | Performance |
|---|---|---|---|
delete operator |
Plain objects | Boolean | Good |
| Custom delete method | Custom classes | Custom (Boolean) | Good |
Map.delete() |
ES6 Map | Boolean | Excellent |
Conclusion
Use the delete operator for plain objects, implement custom deletion methods for dictionary classes, or leverage ES6 Map's built-in delete() method. Always check the return value to confirm successful deletion.
Advertisements
