这是我的代码?
var cookies = document.cookie.split(';').filter( (c) => c.startsWith('name'));
//=> [name_twitter=true, name_instagram=true]
虽然这是预期的结果:[twitter, instagram]
。所以我需要在.replace()
函数的末尾链接.startsWith()
函数。像这样:
var cookies = document.cookie.split(';').filter( (c) => c.startsWith('name').replace(/.*_(.*)=true/, "$1"));
但它抛出:
未捕获的TypeError:c.startsWith(...)。replace不是函数
我该如何解决?
答案 0 :(得分:0)
这里的问题是startsWith
返回一个布尔值(true
或false
)。并且替换在String
上运行,因此您需要检查以下内容:
var cookies = document.cookie.split(';')
.filter( (c) => c.startsWith('name') )
.map( (c) => c.replace(/.*_(.*)=true/, "$1") );
答案 1 :(得分:0)
你可以做一个过滤器,然后是地图:
var cookies = document.cookie.split(';').filter(c => c.startsWith('name')).map(c => c.replace(/.*_(.*)=true/, "$1"));