最佳答案
我想显示产品浏览历史记录,因此我将产品 ID 存储在一个浏览器 cookie 中。
因为历史记录的列表限制为5个项,所以我将 cookie 值转换为一个数组,然后检查它的长度并删除冗余。
下面的代码是我已经尝试过的,但是它不起作用; 数组项没有被删除。
我想问如何限制数组的长度,使它只能存储5项?
或者
如何在数组索引4之后删除项?
var id = product_id;
var browseHistory = $.cookie('history');
if (browseHistory != null) {
var old_cookie = $.cookie('history');
var new_cookie = '';
if (old_cookie.indexOf(',') != -1) {
var arr = old_cookie.split(',');
if (arr.length >= 5) {
arr.splice(4, 1)
}
}
new_cookie = id + ',' + old_cookie;
$.cookie('history', new_cookie, { expires: 7, path: '/' });
} else {
$.cookie('history', id, { expires: 7, path: '/' });
}