商品の閲覧履歴を表示したいので、ブラウザのCookieに商品IDを保存しています。
履歴のリストは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: '/' });
}