我正在整理一些代码,这些代码在设置自己的cookie之前会查看名为'region'的cookie的值:
if(regionvalue.indexOf("foo")>=0){
Cookies.set('local-council', 1);
}
if(regionvalue.indexOf("foo2")>=0){
Cookies.set('local-council', 1);
}
在上面的示例中,如果值为'foo'或'foo2',我希望创建相同的'local-council'cookie。
此代码有效,但结构不合理。我想用数组来整理一下:
var multiregion = ['foo1', 'foo2'];
if(regionvalue.indexOf(multiregion)>=0){
Cookies.set('local-council', 1);
}
不幸的是,上面的数组不起作用。但是,如果只有一个变量,则创建'local-council'cookie。指定'foo1'。
看起来没有任何语法错误,浏览器的控制台没有显示任何问题。我很困惑为什么这不起作用。
答案 0 :(得分:1)
只需更改订单
var multiregion = ['foo1', 'foo2'];
if(multiregion.indexOf(regionvalue) >= 0){
Cookies.set('local-council', 1);
}
或使用es6 includes()
var multiregion = ['foo1', 'foo2'];
if(multiregion.includes(regionvalue)){
Cookies.set('local-council', 1);
}
答案 1 :(得分:0)
const multiregion = ['foo1', 'foo2'];
const regionvalue = 'foo1';
if(multiregion.some(i => regionvalue.indexOf(i) >= 0)){
document.write('works');
}