ArticleZip > Using Lodash Push To An Array Only If Value Doesnt Exist

Using Lodash Push To An Array Only If Value Doesnt Exist

When working with arrays in JavaScript, it's often handy to have tools that make your life easier. One classic library that many developers turn to is Lodash. In this guide, we'll focus on a specific aspect of Lodash: pushing an item to an array only if that item doesn't already exist in it. This can be quite useful, especially when you want to avoid duplicates in your arrays.

To achieve this goal, we can leverage Lodash's `_.uniq` function along with `_.concat` to intelligently add values to an array without duplicating existing values. Let's dive into the steps:

1. Install and Import Lodash:
First things first, make sure you have Lodash installed in your project. You can do this using npm or yarn:

Bash

npm install lodash

Then, import Lodash into your file:

Javascript

const _ = require('lodash');

2. Write the Logic:
Now, let's create a function that takes an array and a value as inputs and appends the value to the array only if it doesn't already exist in it:

Javascript

function pushUnique(arr, value) {
       const uniqueArr = _.uniq(arr);
       const updatedArr = _.concat(uniqueArr, value);
       return updatedArr;
   }

3. Utilize the Function:
You can now use the `pushUnique` function in your code to efficiently add values to an array without duplicates:

Javascript

let myArray = [1, 2, 3];
   myArray = pushUnique(myArray, 3);
   console.log(myArray); // Output: [1, 2, 3]
   
   myArray = pushUnique(myArray, 4);
   console.log(myArray); // Output: [1, 2, 3, 4]
   
   myArray = pushUnique(myArray, 2);
   console.log(myArray); // Output: [1, 2, 3, 4]

4. Understanding the Code:
- We first use `_.uniq` to remove any duplicates from the input array.
- Next, we employ `_.concat` to concatenate the de-duplicated array with the new value.
- The final result is an updated array that maintains uniqueness.

By following these steps, you can now easily push an item to an array if it's not already present, thanks to the power of Lodash. This method keeps your arrays clean and ensures efficiency in managing your data structures.

In conclusion, utilizing Lodash in combination with this clever logic can greatly enhance your array manipulation tasks and streamline your code. Give it a try in your projects, and enjoy the benefits of adding values to arrays only when needed.