gpt4 book ai didi

javascript - 如何检查本地存储中的重复值?

转载 作者:行者123 更新时间:2023-12-03 08:32:18 25 4
gpt4 key购买 nike

我这里有这个代码 http://jsfiddle.net/so0rL8kj/3/

并且我在执行对象数组中是否已存在输入的检查时遇到问题。

我尝试过循环 json.parse(urls) 像这样的

if (this.url == id) {
console.log("found: " + JSON.stringify(this));
$(".order").append("<li>" + id + " ... already exists in your list.</li>");
return false;
}

但这并没有阻止代码执行 localstorage.setitem 保存。我还尝试保存为数组,然后使用 inArray() 但此功能也没有结果。

如何添加检查以阻止本地存储的用户输入重复?

编辑:工作 fiddle http://jsfiddle.net/so0rL8kj/4/

最佳答案

您不能使用$.inArray()将字符串与对象数组进行比较。

数组看起来像:

[{"url":"someVal"},{"url":"Anotherval"}]

所有$.inArray()都会查看每个对象,并且永远不会找到匹配项,因为您正在数组的每个元素中查找对象属性的值

您可以使用 for 循环来迭代数组并将每个 url 属性与字符串进行比较,或者使用各种数组方法,例如 Array.prototype.filter()

var alreadyExists = arrayCheck.filter(function(item){
return id ==== item.url
}).length;

这会将数组过滤为与 url 和 id 匹配的对象,如果它没有长度,则不匹配

关于javascript - 如何检查本地存储中的重复值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33293478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com