Skip to main content

Latest Post

Custom Metadata Types vs Custom Settings vs Custom Labels

  Custom Metadata Types vs Custom Settings vs Custom Labels 💬 In plain words:  Three lookalikes: Custom Metadata = configuration that DEPLOYS with your code (best for app settings). Custom Settings = org/user-specific values, changeable at runtime (hierarchy type is great for bypass switches). Custom Labels = translatable text for the UI. 📌 Example:  API endpoint URLs per environment → Custom Metadata (deploys with code, sandbox vs prod values). A 'Bypass_Automation__c' checkbox an admin flips during data load → hierarchy Custom Setting. The word 'Submit' translated to Hindi → Custom Label. 🎬 Real-Life Example: The Fee Table Trapped Inside Code  Skyline charges a different delivery fee per city. Apex needs those rates on every booking. The Old/Bad Way:  if (city == 'Delhi') fee = 50. Else if (city == 'Mumbai') fee = 65. … Every rate change is a code change, a test run, and a deployment. Why this is bad:  Business data is trappe...

Utilizing Sets and Maps in LWC Salesforce

Introduction:

In Salesforce Lightning Web Components (LWC), developers have access to powerful data structures like Sets and Maps. These data structures offer efficient ways to store, manipulate, and retrieve data. In this blog post, we will explore how to leverage Sets and Maps in LWC code to enhance your Salesforce development. So, let's dive in!


1. Understanding Sets:


Sets are collections of unique values, meaning each value can appear only once within a Set. This makes Sets handy when you want to work with distinct values or remove duplicates from your data. Here's an example of how to use Sets in LWC:


// Create a Set

let mySet = new Set();


// Add values to the Set

mySet.add('Apple');

mySet.add('Banana');

mySet.add('Apple'); // Duplicates are automatically ignored


// Check if a value exists in the Set

let containsApple = mySet.has('Apple'); // returns true


// Remove a value from the Set

mySet.delete('Banana');


// Iterate over the Set

for (let item of mySet) {

  console.log(item); // Apple

}


2. Working with Maps:


Maps are key-value pairs, allowing you to associate values with unique keys. They are particularly useful when you need to perform lookups or map data from one format to another. Let's see how you can use Maps in LWC:


// Create a Map

let myMap = new Map();


// Add values to the Map

myMap.set('name', 'John');

myMap.set('age', 30);


// Get a value from the Map using the key

let name = myMap.get('name'); // returns 'John'


// Check if a key exists in the Map

let hasAge = myMap.has('age'); // returns true


// Remove a key-value pair from the Map

myMap.delete('age');


// Iterate over the Map

for (let [key, value] of myMap) {

  console.log(`${key}: ${value}`); // name: John

}


3. Set and Map Integration in LWC:


Sets and Maps can be effectively integrated into your LWC code, offering enhanced data manipulation capabilities. Here's an example that demonstrates their usage together:


import { LightningElement } from 'lwc';


export default class MyComponent extends LightningElement {

  connectedCallback() {

    // Create a Set of unique values

    let mySet = new Set(['Apple', 'Banana', 'Apple']);


    // Create a Map to store key-value pairs

    let myMap = new Map();


    // Iterate over the Set and add values to the Map

    for (let item of mySet) {

      myMap.set(item, item.length);

    }


    // Retrieve a value from the Map using the key

    let bananaLength = myMap.get('Banana'); // returns 6


    console.log(bananaLength);

  }

}


Conclusion:


Sets and Maps are powerful data structures in LWC that enable developers to handle unique values and key-value associations efficiently. By utilizing Sets, you can manage distinct values and eliminate duplicates, while Maps allow you to create powerful lookup mechanisms. Combining Sets and Maps in your LWC code can provide you with more flexibility and control over your data. Hopefully, this blog post has shed some light on the usage of Sets and Maps in LWC Salesforce and inspired you to explore further.


Remember, Sets and Maps are just two of the many features available in Salesforce Lightning Web Components, and mastering them can significantly enhance your development skills. Happy coding!

Popular Posts

Salesforce LWC Code for Multi-Select Lookup

Introduction: In Salesforce Lightning Web Components (LWC), implementing a multi-select lookup field can enhance the user experience and provide greater flexibility for selecting multiple related records. In this blog post, we will walk through the process of creating a multi-select lookup field using LWC. We will cover the required code snippets and provide step-by-step instructions to help you implement this functionality in your Salesforce org.