Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript cookie数组值_Javascript_Arrays_Cookies - Fatal编程技术网

javascript cookie数组值

javascript cookie数组值,javascript,arrays,cookies,Javascript,Arrays,Cookies,我有一个javascript cookies的问题,我已经挣扎了几天。 我有这个函数(与w3几乎相同): 执行此操作时,arrCookies[c_name]不会存储任何值-->arrCookies[c_name]。长度为零 ================================================= 我也有 function getCookie(c_name) { var i,x,y,ARRcookies=document.cookie.split(";"); for

我有一个javascript cookies的问题,我已经挣扎了几天。 我有这个函数(与w3几乎相同):

执行此操作时,arrCookies[c_name]不会存储任何值-->arrCookies[c_name]。长度为零

================================================= 我也有

function getCookie(c_name)
{   
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{

  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x.indexOf(c_name)==0)
    {
        if(c_name=='table'){
            xxx[i]=x;
            xx[i]=y;
        }
        else if(c_name=='task'){
            arr[i]=x;
            ar[i]=y;
        }
    }
  }
}
函数getCookie(c_名称) { 变量i,x,y,ARRcookies=document.cookie.split(“;”);
对于(i=0;i而不是在循环中使用ar[i],使用ar[j]如下:

j=0;
for(i=0;...) {
   if(...) {
      ar[j]=...;
      j = j + 1;
   }
}

您看到代码中的错误了吗?

改用关联数组,键是cookie名称,值是cookie值

在代码顶部定义一个如下所示的数组:

var arrCookies = {};
然后在函数中输入以下代码:

if (x.indexOf(c_name) == 0)
{
    arrCookies[c_name] = y;
}
然后在以后读取cookie值,例如,名为“任务”的cookie:


我这样做了,但它没有“重置”ar,它对脚本没有影响。我尝试的是1)ar=0;--什么都不起作用2)ar=[];--什么都不做3)ar=array();--什么都不做我从FireBug得到以下错误“ar[c_name]未定义”,因为现在需要使用
arrCookies
而不是
ar
。我尝试了var xx=新数组(new Array(),new Array());var xxx=new Array(new Array(),new Array());在顶部,函数getCookie(c_name){var i,x,y,ARRcookies=document.cookie.split(“;”);for(i=0;i为什么你坚持这么复杂和不可读的东西?发布你正在使用的导致“未定义”错误的完整代码(用它编辑你的问题)我们将帮助您修复此问题。@ShadowWizard:删除了多余的行。
var arrCookies = {};
if (x.indexOf(c_name) == 0)
{
    arrCookies[c_name] = y;
}
var taskValue = arrCookies["task"];