Вот реализация JSON для работы с cookie, гораздо лучший способ хранения массивов . проверено с моей стороны.
$.fn.extend({
cookieList: function (cookieName) {
var cookie = $.cookie(cookieName);
var storedAry = ( cookie == null ) ? [] : jQuery.parseJSON( cookie );
return {
add: function (val) {
var is_Arr = $.isArray( storedAry );
//console.log(storedAry);
if( $.inArray(val, storedAry) === -1 ){
storedAry.push(val);
//console.log('inside');
}
$.cookie( cookieName, JSON.stringify(storedAry), { expires : 1 , path : '/'});
/*var index = storedAry.indexOf(val);
if (index == -1) {
storedAry.push(val);
$.cookie(cookieName, storedAry.join(','), { expires: 1, path: '/' });
}*/
},
remove: function (val) {
storedAry = $.grep(storedAry, function(value) {
return value != val;
});
//console.log('Removed '+storedAry);
$.cookie( cookieName, JSON.stringify(storedAry), { expires : 1 , path : '/'});
/*var index = storedAry.indexOf(val);
if ( index != -1 ){
storedAry.splice( index, 1 );
$.cookie(cookieName, storedAry.join(','), { expires: 1, path: '/' });
}*/
}
clear: function () {
storedAry = null;
$.cookie(cookieName, null, { expires: 1, path: '/' });
}
};
}
});