Javascript 避免过滤器循环中出现多索引
我需要检查字符串是否有几个值的索引。我想避免这样的事情:Javascript 避免过滤器循环中出现多索引,javascript,indexof,Javascript,Indexof,我需要检查字符串是否有几个值的索引。我想避免这样的事情: let filter = tasks.filter( x => x.eventData.workflow_name === brand && (x.eventData.task_queue_name.indexOf('Value1') == -1 && x.eventData.task_queue_name.indexOf('_Value2') ==
let filter = tasks.filter(
x =>
x.eventData.workflow_name === brand &&
(x.eventData.task_queue_name.indexOf('Value1') == -1 &&
x.eventData.task_queue_name.indexOf('_Value2') == -1 &&
x.eventData.task_queue_name.indexOf('Value3') == -1 &&
x.eventData.task_queue_name.indexOf('BANG_Value4') == -1)
)
我试图创建一个数组,比如constvalues\u to\u SKIP=['Value1',…]
,并在一行中写入indexOf条件
可以避免大量的
值。indexOf(…)
?您可以使用每一个
来检查多个键,并且包括有利于indexOf的
:
['Value1', '_Value2', 'Value3'].every(key =>
!x.eventData.task_queue_name.includes(key))
您可以使用
each
来检查多个键,并且包括,以支持indexOf:
['Value1', '_Value2', 'Value3'].every(key =>
!x.eventData.task_queue_name.includes(key))
您可以使用数组。一些或数组。每个类似:
//要测试的值
常量数组值=[
“值1”,
“_Value2”,
“价值3”,
“BANG_Value4”,
];
//将您的数据添加到过滤器
常量任务=[{
事件数据:{
工作流程名称:“品牌”,
任务队列名称:“BANG\u Value3和Value2以及Value3”,
},
}, {
事件数据:{
工作流程名称:“品牌”,
任务队列名称:“狗爱猫”,
},
}, {
事件数据:{
工作流程名称:“品牌”,
任务队列名称:“狗爱爆炸值4”,
},
}];
const brand=‘brand’;
const filtered=tasks.filter(x=>
x、 eventData.workflow_name===品牌&&
!arrayOfValue.some(y=>x.eventData.task\u queue\u name.includes(y))
);
console.log(过滤)
您可以使用数组。一些或数组。每个类似:
//要测试的值
常量数组值=[
“值1”,
“_Value2”,
“价值3”,
“BANG_Value4”,
];
//将您的数据添加到过滤器
常量任务=[{
事件数据:{
工作流程名称:“品牌”,
任务队列名称:“BANG\u Value3和Value2以及Value3”,
},
}, {
事件数据:{
工作流程名称:“品牌”,
任务队列名称:“狗爱猫”,
},
}, {
事件数据:{
工作流程名称:“品牌”,
任务队列名称:“狗爱爆炸值4”,
},
}];
const brand=‘brand’;
const filtered=tasks.filter(x=>
x、 eventData.workflow_name===品牌&&
!arrayOfValue.some(y=>x.eventData.task\u queue\u name.includes(y))
);
console.log(过滤)代码>
我试图创建一个数组,比如constvalues\u to\u SKIP=['Value1',…]
并在一行中写入indexOf
条件
我将使用一个带有交替和test
的正则表达式:
let filter = tasks.filter(x =>
x.eventData.workflow_name === brand && !/Value1|_Value2|Value3|BANG_Value4/.test(x.eventData.task_queue_name)
);
实例:
const任务=[
{
事件数据:{
工作流名称:“foo”,
任务队列名称:“xxx BANG\u Value4 yyy”,
}
},
{
事件数据:{
工作流名称:“foo”,
任务队列名称:“没有一个”,
}
},
{
事件数据:{
工作流名称:'bar',
任务队列名称:“狗爱爆炸值4”,
}
},
{
事件数据:{
工作流名称:“foo”,
任务_队列_名称:'不再有任务',
}
},
{
事件数据:{
工作流名称:“foo”,
任务队列名称:“\u值2 yyy”,
}
}
];
const brand=“foo”;
让筛选器=任务。筛选器(x=>
x、 eventData.workflow_name==品牌和!/Value1|u Value2|Value3|BANG_Value4/.test(x.eventData.task_queue_name)
);
控制台日志(过滤器)代码>
。作为控制台包装器{
最大高度:100%!重要;
}
我试图创建一个数组,比如constvalues\u to\u SKIP=['Value1',…]
并在一行中写入indexOf
条件
我将使用一个带有交替和test
的正则表达式:
let filter = tasks.filter(x =>
x.eventData.workflow_name === brand && !/Value1|_Value2|Value3|BANG_Value4/.test(x.eventData.task_queue_name)
);
实例:
const任务=[
{
事件数据:{
工作流名称:“foo”,
任务队列名称:“xxx BANG\u Value4 yyy”,
}
},
{
事件数据:{
工作流名称:“foo”,
任务队列名称:“没有一个”,
}
},
{
事件数据:{
工作流名称:'bar',
任务队列名称:“狗爱爆炸值4”,
}
},
{
事件数据:{
工作流名称:“foo”,
任务_队列_名称:'不再有任务',
}
},
{
事件数据:{
工作流名称:“foo”,
任务队列名称:“\u值2 yyy”,
}
}
];
const brand=“foo”;
让筛选器=任务。筛选器(x=>
x、 eventData.workflow_name==品牌和!/Value1|u Value2|Value3|BANG_Value4/.test(x.eventData.task_queue_name)
);
控制台日志(过滤器)代码>
。作为控制台包装器{
最大高度:100%!重要;
}
您可以使用与任务队列名称类似的方法来执行此操作?字符串和数组都有索引of
。我假设它是一个字符串,但我看到大多数其他人都假设它是一个数组。你确实说了“一根绳子”,但…。@T.J.Crowder这是一根绳子。我想检查是否有一个从VALUES\u到
的部分值。您可以使用类似于任务队列\u name
的方法来执行此操作?字符串和数组都有索引of
。我假设它是一个字符串,但我看到大多数其他人都假设它是一个数组。你确实说了“一根绳子”,但…。@T.J.Crowder这是一根绳子。我想检查是否有一个从VALUES\u到\u SKIP的部分值
Just FWIW,!有些
是每一个
(和!每一个
都是一些
)。@T.J.Crowder对,我想这只是我习惯了数组。有些
。这对来这里的人来说是一个很好的评论!有些
是每一个
(和!每一个
都是一些
)。@T.J.Crowder对,我想这只是我习惯了数组。有些
。对来这里的人来说,这是一个很好的评论