避免本地存储(Javascript)中的重复

避免本地存储(Javascript)中的重复,javascript,arrays,dictionary,local-storage,Javascript,Arrays,Dictionary,Local Storage,我有以下代码: results.push(result); addToLocalStorage(results); function addToLocalStorage(results) { localStorage.setItem("results", JSON.stringify(results)); } 以下是推送值时创建的列表: 因此,在推送值时,将创建一个id为country value的div: <div id="France"

我有以下代码:

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

function addToLocalStorage(results) {
  localStorage.setItem("results", JSON.stringify(results));
}
以下是推送值时创建的列表:

因此,在推送值时,将创建一个id为country value的div:

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


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

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

在下面的代码中,“巴西”已存在于数组中,因此不会再次添加

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

let results=[{国家:'法国'},{国家:'巴西'},{国家:'迪拜'},{国家:'爱尔兰'}];
让结果={国家:'巴西'};
countryExist=results.some(obj=>obj.country==result.country);
如果(!countryExist){
结果。推(结果);
添加本地存储(结果);
}
控制台日志(结果);
函数addToLocalStorage(结果){
setItem(“results”,JSON.stringify(results));

}
将新的
结果
推到阵列上之前,您需要先读取localStorage并测试
结果
是否已在阵列中。同时感谢大家!我会检查那些帖子,但我也会继续尝试。。。如果你们有类似的例子,这将是非常有用的。我还要看看@LilDevil说了些什么,我需要先推送到localStorage,这样我就可以比较localStorage的国家和结果。国家?谢谢你!这很有魅力!我意识到我的解决方案很难理解,而且不起作用,少即是多:)