避免在 LocalStorage 中重复 (Javascript)

Avoid Duplicates in LocalStorage (Javascript)

我有这个代码:

results.push(result);
addToLocalStorage(results);

function addToLocalStorage(results) {
  localStorage.setItem("results", JSON.stringify(results));
}

这是推送值时创建的列表:

因此,在推送值时,会创建一个 div,其 id 为国家值:

<div id="France"></div>
<div id="France"></div>

如何才能不重复另一个具有相同 ID 的 div 并且在将值推送到 localStorage 时不重复?我尝试映射国家/地区的值并从数组中获取最后一个元素,但这不起作用。我不知道我哪里出错了

在将新的 'result' 推入 'results' 数组之前,请检查该数组中是否存在该值。如果没有进行推送并将新数组写入本地存储。

在下面的代码中 'Brazil' 已经存在于数组中,因此不会再次添加。

这样您的结果数组和本地存储将保存没有任何重复的值。

let results = [{country: 'France'},{country: 'Brazil'},{country: 'Dubai'},{country: 'Ireland'}];
let result = {country: 'Brazil'};
countryExist = results.some(obj => obj.country === result.country);
if (!countryExist) {
  results.push(result);
  addToLocalStorage(results);
}
console.log(results);

function addToLocalStorage(results) {
  localStorage.setItem("results", JSON.stringify(results));
}