如何根据cookie创建阵列?

时间:2017-10-10 12:22:42

标签: javascript jquery cookies

以下是浏览器Cookie:

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中的最后一项将作为结果值存储到数组中。怎么了?

1 个答案:

答案 0 :(得分:1)

数组中的startsWith过滤器第二项将是“name_googleplus = true;”后,请注意前导空格,因此它以“name_”而不是“name_”开头。修复它的一种方法是使用trim()删除空格。

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