Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 如何基于cookies创建数组?_Javascript_Jquery_Cookies - Fatal编程技术网

Javascript 如何基于cookies创建数组?

Javascript 如何基于cookies创建数组?,javascript,jquery,cookies,Javascript,Jquery,Cookies,以下是浏览器cookies: console.log(document.cookie); //=> name_instagram=true; name_googleplus=true; 这是我的代码: console.log(document.cookie.split(';').filter( (c) => c.startsWith(parts[1])).map( (d) => d.replace(/.*_(.*)=true/, "$1"))); //=> ["inst

以下是浏览器cookies:

console.log(document.cookie);
//=> name_instagram=true; name_googleplus=true;
这是我的代码:

console.log(document.cookie.split(';').filter( (c) => c.startsWith(parts[1])).map( (d) => d.replace(/.*_(.*)=true/, "$1")));
//=> ["instagram"]
而预期的结果是[instagram,googleplus]。我怎么能得到这个

目前,正如您所看到的,只有cookie中的最后一项将作为结果值存储到数组中。怎么了?

使用过滤器启动后,数组中的第二项将是name\u googleplus=true;,请注意前导空格,因此它以name_u而不是name_u开头。修复它的一种方法是使用trim删除空白

console.log(document.cookie.split(';').filter( (c) => c.trim().startsWith('name_')).map( (d) => d.replace(/.*_(.*)=true/, "$1")));

第[1]部分是什么?name?@Walk是的,它是数组的一项,名为name。i、 e var parts=['id','name'];使用过滤器启动后,数组中的第二项将是name_googleplus=true;,请注意前导空格,因此它以name_u而不是name_u开头。