JSFiddle - React, Tailwind, and code Playground

HTML

<button onClick = "ObjParse(article_1);">Article 1</button>
<br>
<button onClick = "ObjParse(article_2);">Article 2</button>
<br>
<button onClick = "ObjParse(article_3);">Article 3</button>
<br>
<button onClick = "ObjParse(article_4);">Article 4</button>

CSS

button {
    margin: 10px;
}

JavaScript

//Создаем класс товаров
function Article(name, price) {
    this.name = name;
    this.price = price;
};
//Создаем объекты класса Article
var	article_1 = new Article ("Article 1", "10"),
    article_2 = new Article ("Article 2", "20"),
    article_3 = new Article ("Article 3", "30"),
    article_4 = new Article ("Article 4", "40");

//Добавление раcпарсенного объекта в локальное хранилище
function ObjParse(a) {
    //Цикл прохода по локальному хранилищу
    for (i=0; i<4; i++) {
        //Если в лоакл.хран-ще есть ключ с таким же аргументом, НЕ добавляем товар
        if (localStorage.getItem(a.name) == a.name) {
            alert ("Этот товар уже в корзине!");
            break;
        }
        //Если нету, пусть имя товара будет его ключем, а список свойств - значением
        else {
            localStorage.setItem(a.name, JSON.stringify(a));
            alert ("Товар " + a.name + " добавлен в локальное хранилище");
            break;
        }
    }	
}	
//Тестировка поиска по локальному хранилищу
console.log(article_1.name);
console.log((JSON.parse(localStorage.getItem(article_3.name))).name);
//После того, как интерпретатор видит, что такого объекта нет в локальном хранилище, он прерывает работу(?)
console.log(localStorage.getItem(article_4));