Tôi muốn hiển thị lịch sử duyệt sản phẩm, vì vậy tôi đang lưu trữ các id sản phẩm trong cookie của trình duyệt.Tôi có thể giới hạn độ dài của một mảng trong JavaScript không?
Bởi vì danh sách lịch sử được giới hạn trong 5 mục, tôi chuyển đổi giá trị cookie thành một mảng, sau đó kiểm tra độ dài của nó và cắt bỏ dư thừa.
Mã bên dưới là những gì tôi đã thử, nhưng nó không hoạt động; mục mảng không bị xóa.
Tôi muốn hỏi cách giới hạn chiều dài mảng sao cho nó chỉ có thể lưu trữ 5 mục?
Hoặc
Làm cách nào để cắt các mục sau chỉ mục mảng 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: '/' });
}
nối của bạn có vẻ tốt đẹp, ngoại trừ bạn có thể làm 'arr.splice (4, arr.length - 4)' để chắc chắn. bạn có nói rằng mối nối không hoạt động hoặc cookie? bạn đang thiết lập new_cookie cho old_cookie, vẫn còn chứa 5+ mục ... – Rhumborl