【问题标题】:Whats a cleaner way to write this javascript if statement? [duplicate]编写这个 javascript if 语句的更简洁的方法是什么? [复制]
【发布时间】:2022-01-12 05:55:12
【问题描述】:

我试过这样的格式

['mobile-number', 'name', 'about'].includes(stages)

但这似乎不起作用。

if (stages.includes('mobile-number') || stages.includes('name') || stages.includes('about')) {
    array.push('about-you')
}

【问题讨论】:

  • 使用everysome?
  • stages 的类型是什么?它是另一个数组吗?还是普通的字符串?

标签: javascript


【解决方案1】:

您正在寻找Array.prototype.some

stages.some(s => ['mobile-number', 'name', 'about'].includes(s))

这是stages.includes('mobile-number') || stages.includes('name') || stages.includes('about')的确切替代品

【讨论】:

  • 警告是阶段类型未知,因为 OP 错过了它,希望它的字符串,否则您需要假设它是字符串类型来更新答案
  • 不过,我们可以猜到。因为如果是字符串,则没有复杂性,它必须是[...].includes(stages).. 但是,问题的语义应该是两个数组之间的关系,而不是数组+字符串
  • 是的,未知和假设是最大的敌人,完全同意你所说的,但事实仍然未知
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
  • 2021-12-12
  • 2021-12-15
  • 1970-01-01
  • 2023-03-08
  • 2010-12-08
  • 1970-01-01
相关资源
最近更新 更多