【问题标题】:Best way to test conditions on a dynamic list of items?测试动态项目列表条件的最佳方法?
【发布时间】:2021-10-11 13:04:09
【问题描述】:

首先,如果标题不是 100% 准确,请见谅。

我有问题。

我在 List A 中有一个动态的项目列表,项目的数量可以在 1-50 之间:

item1
item2
item3

我需要一个函数来遍历这些项目,检查每个项目的条件是否为真,如下所示:

if(item1 && condition) continue

创建此函数/算法的最佳方法是什么?由于列表不是静态的,我不能像这样对条件进行硬编码:

if(item1 && condition) continue
if(item2 && condition) continue
if(item3 && condition) continue

提前致谢

编辑:如果至少有一个条件为真,我希望函数返回真。

【问题讨论】:

  • OP 与continue 子句一起呈现的伪代码(表示every 的用法)与OP 的最后一句完全矛盾...... “我想要这个函数如果至少有一个条件为真,则返回真" ...(表示使用some)。
  • 是的,没错,我所说的继续的意思是,如果满足这些条件中的任何一个,则继续,否则停止。这就是为什么有 3 个 continue 而不是 1

标签: javascript loops multiple-conditions


【解决方案1】:

使用Array#some

some() 方法测试数组中的至少一个元素是否通过了提供的函数实现的测试。如果在数组中找到所提供函数为其返回 true 的元素,则返回 true;否则返回false。它不会修改数组。

let result = arr.some(element => predicate(element));

【讨论】:

  • 谢谢。我检查了每个 MDN,但问题是,every() 检查是否所有条件都为真,即使其中一个数组项为真,我也希望它返回真?
  • @codingexplorer 然后使用Array#some
  • 非常感谢!
  • @codingexplorer 很高兴为您提供帮助。
猜你喜欢
  • 1970-01-01
  • 2010-09-26
  • 2016-11-08
  • 1970-01-01
  • 2010-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多