In JavaScript, objects store data in the form of key-value pairs where the key may be any property of the object. In this article let us see how to remove key-value pairs a by given key in the object.
Using the delete operator
When only a single key is to be removed we can directly use the delete operator specifying the key in an object.
Syntax:
delete(object_name.key_name);
/* or */
delete(object_name[key_name]);
Example 1: This example describes the above-explained approach to removing a key-value pair from an object.
let myObj = { Name: "Raghav" ,
Age: 30,
Sex: "Male" ,
Work: "Web Developer" ,
YearsOfExperience: 6,
Organisation: "GeeksforGeeks" ,
Address: "address--address some value"
}; console.log( "After removal: " );
// Deleting address key delete (myObj.Address); // Or delete(myObj[Address]);
console.log(myObj); |
After removal: { Name: 'Raghav', Age: 30, Sex: 'Male', Work: 'Web Developer', YearsOfExperience: 6, Organisation: 'GeeksforGeeks' }
Example 2: This example uses a loop to remove a key-value pair from the object.
// Function to delete the keys given in the array function DeleteKeys(myObj, array) {
for (let index = 0; index < array.length; index++) {
delete myObj[array[index]];
}
return myObj;
} // Declaring the object let myObj = { Name: "Raghav" ,
Age: 30,
Sex: "Male" ,
Work: "Web Developer" ,
YearsOfExperience: 6,
Organisation: "Geeks For Geeks" ,
Address: "address--address some value"
}; // Adding the keys to be deleted in the array let array = [ "Work" , "Address" , "Organisation" , "YearsOfExperience" ];
let finalobj = DeleteKeys(myObj, array); console.log( "After removal: " );
console.log(finalobj); |
After removal: { Name: 'Raghav', Age: 30, Sex: 'Male' }
Using the filter() method
The JavaScript Array filter() Method is used to create a new array from a given array consisting of only those elements from the given array which satisfy a condition set by the argument method.
Syntax:
array.filter(callback(element, index, arr), thisValue);
Example: In this example, we will see the use of the filter() method for removing the key-value pair.
let obj = { name: "Joey" , age: "30" , gender: "Male" };
let newObj = Object.keys(obj) .filter(key => key != "name" )
.reduce((acc, key) => {
acc[key] = obj[key];
return acc;
}, {});
console.log(newObj) |
{ age: '30', gender: 'Male' }