Open In App

How to Remove Keys from a TypeScript Dictionary ?

In TypeScript, we can remove keys from a TypeScript Dictionary using various approaches that include deleting keywords, Object Destructuring, and by using Object.keys() and Array.reduce() methods.

There are several approaches to removing keys from a TypeScript Dictionary which are as follows:

Using delete Keyword

In this approach, we are using the delete keyword to remove keys specified in the keys array from the TypeScript dictionary dict. The forEach loop iterates through each key, deleting the associated property, resulting in an updated dictionary without the specified keys.

Syntax:

delete objectName.propertyName; 

Example: The below example used the delete keyword to remove keys from a TypeScript Dictionary.

let dict: { [key: string]: string } = {
    Java: "Programming Language",
    Python: "Scripting Language",
    "C++": "Programming Language",
    JavaScript: "Scripting Language",
    TypeScript: "Programming Language",
};
const keys: string[] = ["Python", "JavaScript"];
keys.forEach((key) => delete dict[key]);
console.log("Updated Dictionary:");
console.log(dict);

Output:

Updated Dictionary:
{
  Java: 'Programming Language',
  'C++': 'Programming Language',
  TypeScript: 'Programming Language'
}

Using Object Destructuring

In this approach, we are using object destructuring to remove keys specified in the keys array from the TypeScript dictionary dict. By extracting the properties associated with keys "Python" and "JavaScript" into separate variables (Python and JavaScript), and using the spread operator (...temp) to get the remaining properties into the temp object, we then assign temp back to the original dict and print the updated dict.

Syntax:

const { property1, property2, ... } = sourceObject; 

Example: The below example used Object Destructuring to remove keys from a TypeScript Dictionary.

let dict: { [key: string]: string } = {
    Java: "Programming Language",
    Python: "Scripting Language",
    "C++": "Programming Language",
    JavaScript: "Scripting Language",
    TypeScript: "Programming Language",
};
const keys: string[] = ["Python", "JavaScript"];
const { Python, JavaScript, ...temp } = dict;
dict = temp;
console.log("Updated Dictionary:");
console.log(dict);

Output:

Updated Dictionary:
{
  Java: 'Programming Language',
  'C++': 'Programming Language',
  TypeScript: 'Programming Language'
}

Using Object.keys() and Array.reduce() methods

In this approach, we are using Object.keys() and Array.reduce() methods to remove keys specified in the keys array, creating a new object that is then assigned back to the original TypeScript dictionary dict.

Syntax:

Object.keys(obj); 
array.reduce(callback, initialValue);

Example: The below example used the Object.keys() and Array.reduce() methods to remove keys from a TypeScript Dictionary.

let dict: { [key: string]: string } = {
    "Java": "Programming Language",
    "Python": "Scripting Language",
    "C++": "Programming Language",
    "JavaScript": "Scripting Language",
    "TypeScript": "Programming Language",
};
const keys: string[] =
    [
        "Python",
        "JavaScript"
    ];
dict = Object.keys(dict)
    .filter(key => !keys.includes(key))
    .reduce((acc, key) => {
        acc[key] = dict[key];
        return acc;
    }, {} as { [key: string]: string });
console.log("Updated Dictionary:");
console.log(dict)

Output:

Updated Dictionary:
{
  Java: 'Programming Language',
  'C++': 'Programming Language',
  TypeScript: 'Programming Language'
}

Using Object.assign()

Another method to remove keys from a TypeScript dictionary is by utilizing Object.assign(). This method creates a new object by merging properties from multiple objects, allowing us to exclude specific keys during the merging process.

Syntax:

Object.assign(target, ...sources);

Example: In this example we creates a dictionary, removes specified keys, and stores the updated dictionary. It then logs the updated dictionary.

let dict: { [key: string]: string } = {
    "Java": "Programming Language",
    "Python": "Scripting Language",
    "C++": "Programming Language",
    "JavaScript": "Scripting Language",
    "TypeScript": "Programming Language",
};

const keysToRemove: string[] = ["Python", "JavaScript"];

const updatedDict = Object.assign({}, ...Object.keys(dict)
    .filter(key => !keysToRemove.includes(key))
    .map(key => ({ [key]: dict[key] })));

console.log("Updated Dictionary:");
console.log(updatedDict);

Output:

{
  "Java": "Programming Language",
  "C++": "Programming Language",
  "TypeScript": "Programming Language"
} 
Article Tags :