检查cookie数组元素是否存在
Check if a cookie array element exists
如何检查 cookie 中是否已存在数组元素?
这是我的代码:
var cookieList = function (cookieName) {
var cookie = Cookies.get(cookieName);
var items = cookie ? cookie.split(/,/) : new Array();
return {
"add": function (val) {
items.push(val);
Cookies.set(cookieName, items.join(','), { path: '/' });
}
}
}
var list = new cookieList("MyItems");
$('.items').on('click', '.add', function () {
var imageId = $(this).data("id");
list.add(JSON.stringify(imageId));
});
你可以在cookieList
中添加一个方法exists
,然后使用Array.indexOf()
检查传递的值是否存在于items
数组中
var cookieList = function (cookieName) {
var cookie = Cookies.get(cookieName);
var items = cookie ? cookie.split(/,/) : new Array();
return {
"add": function (val) {
items.push(val);
Cookies.set(cookieName, items.join(','), {
path: '/'
});
},
exists: function (val) {
return items.indexOf(val) > -1
}
}
}
var list = new cookieList("MyItems");
$('.items').on('click', '.add', function () {
var imageId = $(this).data("id");
list.add(JSON.stringify(imageId));
var exists = list.exists(JSON.stringify(imageId))
});
演示:Fiddle
FWIW,js-cookie 处理 JSON 开箱即用:
var cookieList = function (cookieName) {
var items = Cookies.getJSON(cookieName) || [];
return {
add: function (val) {
items.push(val);
Cookies.set(cookieName, items);
// "path: /" is default,
// see https://github.com/js-cookie/js-cookie/tree/v2.0.2#path
},
exists: function (val) {
return items.indexOf(val) > -1
}
}
}
var list = new cookieList("MyItems");
$('.items').on('click', '.add', function () {
var imageId = $(this).data("id");
list.add(JSON.stringify(imageId));
var exists = list.exists(JSON.stringify(imageId))
});
如何检查 cookie 中是否已存在数组元素?
这是我的代码:
var cookieList = function (cookieName) {
var cookie = Cookies.get(cookieName);
var items = cookie ? cookie.split(/,/) : new Array();
return {
"add": function (val) {
items.push(val);
Cookies.set(cookieName, items.join(','), { path: '/' });
}
}
}
var list = new cookieList("MyItems");
$('.items').on('click', '.add', function () {
var imageId = $(this).data("id");
list.add(JSON.stringify(imageId));
});
你可以在cookieList
中添加一个方法exists
,然后使用Array.indexOf()
items
数组中
var cookieList = function (cookieName) {
var cookie = Cookies.get(cookieName);
var items = cookie ? cookie.split(/,/) : new Array();
return {
"add": function (val) {
items.push(val);
Cookies.set(cookieName, items.join(','), {
path: '/'
});
},
exists: function (val) {
return items.indexOf(val) > -1
}
}
}
var list = new cookieList("MyItems");
$('.items').on('click', '.add', function () {
var imageId = $(this).data("id");
list.add(JSON.stringify(imageId));
var exists = list.exists(JSON.stringify(imageId))
});
演示:Fiddle
FWIW,js-cookie 处理 JSON 开箱即用:
var cookieList = function (cookieName) {
var items = Cookies.getJSON(cookieName) || [];
return {
add: function (val) {
items.push(val);
Cookies.set(cookieName, items);
// "path: /" is default,
// see https://github.com/js-cookie/js-cookie/tree/v2.0.2#path
},
exists: function (val) {
return items.indexOf(val) > -1
}
}
}
var list = new cookieList("MyItems");
$('.items').on('click', '.add', function () {
var imageId = $(this).data("id");
list.add(JSON.stringify(imageId));
var exists = list.exists(JSON.stringify(imageId))
});