gpt4 book ai didi

javascript - 我可以在 JavaScript 中限制数组的长度吗?

转载 作者:IT王子 更新时间:2023-10-29 03:08:17 24 4
gpt4 key购买 nike

我想显示产品浏览历史,所以我将产品 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, 1)

这将删除索引 4 处的 1 个项目。参见 here

我想你想使用 slice :

arr.slice(0,5)

这将返回位置 0 到 4 的元素。

这假设您的所有其余代码(cookie 等)都正常工作

关于javascript - 我可以在 JavaScript 中限制数组的长度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14236515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com