我将一个cookie拆分成一个数组:
var cooks = document.cookie.split(';');
[dogs=bla, cats=sdfgh, cabbages=kjhgfdfg]
如果我想找到'cats = sdfgh'的索引,我可以使用
cooks.indexOf('cats=sdfgh');
1
但是,如果我想搜索是否已经设置了值猫,我该怎么做? cooks.indexOf(find('cat='));
或其他相似之处?
所以在不知道猫的价值的情况下,如何判断它是否存在于cookie中?
而且,我怎样才能获得该cookie的索引号?
答案 0 :(得分:2)
你可以运行一个简单的正则表达式:
if(fun = document.cookie.match(/(^cats=|;cats=)([^;]+)/)){
console.log(fun);
}
它将为您提供一个数组,其中第3个成员是您的值,如果它匹配:)
但是,如果你不必支持糟糕的浏览器,那么值得看一下评论中引用的MDN cookie框架。
答案 1 :(得分:0)
您可以使用Array.prototype.some
方法查找数组中的第一个匹配值:
var cooks = document.cookie.split(';'); // ["dogs=bla", "cats=sdfgh", "cabbages=kjhgfdfg"]
var isSet = cooks.some(function(cookie) {
return cookie.indexOf('cats') == 0;
}); // => true