gpt4 book ai didi

javascript - 避免在过滤器循环中使用多个 indexOf

转载 作者:行者123 更新时间:2023-11-30 08:21:58 24 4
gpt4 key购买 nike

我需要检查一个字符串是否有几个值的任何 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') == -1 &&
x.eventData.task_queue_name.indexOf('Value3') == -1 &&
x.eventData.task_queue_name.indexOf('BANG_Value4') == -1)
)

我试图创建一个类似 const VALUES_TO_SKIP = ['Value1', ...] 的数组,并在一行中写入 indexOf 条件。

有没有可能避免一堆value.indexOf(...)

最佳答案

您可以使用 Array.someArray.every,例如:

// The values to Test out
const arrayOfValue = [
'Value1',
'_Value2',
'Value3',
'BANG_Value4',
];

// Your data to filters
const tasks = [{
eventData: {
workflow_name: 'brand',
task_queue_name: 'BANG_Value3 and Value2 and Value3',
},
}, {
eventData: {
workflow_name: 'brand',
task_queue_name: 'Dogs loves cat',
},
}, {
eventData: {
workflow_name: 'brand',
task_queue_name: 'Dogs loves BANG_Value4',
},
}];

const brand = 'brand';

const filtered = tasks.filter(x =>
x.eventData.workflow_name === brand &&
!arrayOfValue.some(y => x.eventData.task_queue_name.includes(y))
);

console.log(filtered);

关于javascript - 避免在过滤器循环中使用多个 indexOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52061691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com