【发布时间】:2012-12-23 13:50:34
【问题描述】:
我想显示产品浏览历史,因此我将产品 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: '/' });
}
【问题讨论】:
-
您的接头看起来不错,但您可以通过
arr.splice(4, arr.length - 4)来确保。你是说接头不工作还是饼干不工作?您正在将 new_cookie 设置为 old_cookie,它仍然包含 5+ 项...
标签: javascript jquery cookies