I am trying to save an object into an array in the local storage,
but firstly I want to check either the object is already exist or not by comparing the existing Title in local storage with the new object's title. But I dont know how to do it.
const RecipeList = ({recipe}) => {
const setData = () => {
const newTitle = recipe.label;
const existedFavRecipe = JSON.parse(localStorage.getItem('FavRecipes') || []);
// I want to write code that compare existedFavRecipe.Title with newTitle
// if the title already exist it will give message and if not it will add the object into the local storage
const NewFavRecipe = {
Title : recipe.label,
Image : recipe.image,
Url : recipe.url,
CuisineType : recipe.cuisineType,
mealType : recipe.mealType,
IngredientList: recipe.ingredients,
Status : JSON.stringify(click)
}
existedFavRecipe.push(NewFavRecipe);
localStorage.setItem('FavRecipes',JSON.stringify(existedFavRecipe));
}
}
and the setData() will be triggered with onClick
You could do something like:
const exists = existedFavRecipe.some((recipe) => recipe['Title'] == newTitle)
You will iterate over existedFavRecipe array to check if the value already exists
if(!exists) {
const NewFavRecipe = {
Title : recipe.label,
Image : recipe.image,
Url : recipe.url,
CuisineType : recipe.cuisineType,
mealType : recipe.mealType,
IngredientList: recipe.ingredients,
Status : JSON.stringify(click)
}
existedFavRecipe.push(NewFavRecipe);
localStorage.setItem('FavRecipes',JSON.stringify(existedFavRecipe));
}