如何创建一个 cookie 数组并反转它

how to create a cookie array and reverse it

本文关键字:数组 cookie 何创建 创建 一个      更新时间:2023-09-26

我想通过它的键而不是名称来获取cookie值,但是第一个键给了我最后一个cookie,第二个键=从最后一个等中获取第二个cookie,所以我反转了数组。 那么为什么它不起作用呢?

function getByKey(key){ 
 var cookies = document.cookie.split(";");
    var rev = cookies.reverse();
    return rev[key];
}
getByKey(2);

http://codepen.io/tarranjones/pen/FIzlt

任何想法。

尝试使用控制台进行调试:

console.log(document.cookie.split(";")[1]);
console.log(getByKey(1));

此外,我的代码笔与您的函数(差异很小)有效。

替换此代码块;

var cookies = document.cookie.split(";");
var rev = cookies.reverse();
return rev[key];

用这个块

var cookies = document.cookie.split(";");
return cookies.reverse()[key];

http://codepen.io/zefirka/pen/ndtHG

您的getByKey()函数可能会正常工作,但您没有在代码笔中使用它。

a = document.cookie.split(';')
s = a.reverse();

reverse()将更改原始数组,因此您最终会反转a并将s指向相同的(反向)数组。

制作数组反向副本的最简单方法可能是:

for( var i = a.length - 1, j = 0; i >= 0; --i, ++j ) {
    s[ j ] = a[ i ];
}

代码笔:http://codepen.io/anon/pen/vwErt