我想顯示產品瀏覽記錄,因此我將產品ID存儲在瀏覽器Cookie中。我可以限制JavaScript中數組的長度嗎?
由於歷史記錄列表限制爲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件以上物品...... – Rhumborl