gpt4 book ai didi

javascript - 将对象数组的值与字符串进行比较 - 返回 bool 值

转载 作者:行者123 更新时间:2023-12-04 08:15:51 24 4
gpt4 key购买 nike

localStorage.getItem("test") - 持有一些字符串值
我想将此值与对象数组进行比较-每个对象都已字符串化
如果此数组中的一项( newCombination )与 localStorage.getItem("test") 相同,我要回false .
它不起作用,它返回有时是真的,有时是假的。我希望它不会遍历整个数组并在它不正确时停止。我希望它循环遍历所有内容,直到它不进行比较并返回 false - 如果在任何地方都不匹配,则返回 true。

function checkDuplicity(){
for (var i = 0; i < newCombination.length; i++) {
if(JSON.stringify(newCombination[i]) == localStorage.getItem("test")){
return false
}else{
return true
}
}
}

位置 0-3 上的对象数组中的示例(来自 DevTool):

0: {movie: "Movie A", date: "2021-01-13", time: "10:00 am"}
1: {movie: "Movie A", date: "2021-01-14", time: "10:00 am"}
2: {movie: "Movie B", date: "2021-01-14", time: "10:00 am"}
3: {movie: "Movie C", date: "2021-01-14", time: "10:00 am"}
length: 4
__proto__: Array(0)

最佳答案

您应该只return true最后,在检查完数组中的每个项目之后。否则,函数总是在第一次迭代后完成。

function checkDuplicity(){
for (var i = 0; i < newCombination.length; i++) {
if(JSON.stringify(newCombination[i]) == localStorage.getItem("test")){
return false
}
}
return true;
}
您也可以使用 Array#everyArray#some为了这。
function checkDuplicity(){
return newCombination.every(x => JSON.stringify(x) != localStorage.getItem("test"));
}

关于javascript - 将对象数组的值与字符串进行比较 - 返回 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65708452/

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