【问题标题】:Difference between array indexOf() and string indexOf() causing issue with versions数组 indexOf() 和字符串 indexOf() 之间的差异导致版本问题
【发布时间】:2019-06-09 12:23:51
【问题描述】:

我的 Node 应用程序中有一系列版本:

skipVersions = ['3.10', '3.11', '3.12', '3.13.1', '3.13.2']

我正在使用此代码来检查可以跳过哪些版本:

if (skipVersion(version, skipVersions))
  this.skip 'Skipping version'


skipVersion = (version, skipVersions) ->
    (v for v in skipVersions when v.indexOf(version) > -1).length > 0

我的问题是版本可能以 x.x.x 格式出现,例如。 3.12.2。我希望这在 3.12 版本检查下跳过,但它没有发生。对于数组和字符串,indexOf() 之间似乎存在差异。考虑到这一点,我该怎么做?

【问题讨论】:

  • 对字符串执行indexOf() 将尝试查找出现的字符,而不是搜索的整个单词。
  • @jom 呃,不,它会搜索整个参数字符串?

标签: javascript node.js coffeescript mocha.js indexof


【解决方案1】:

我最终这样做了:

skipVersion = (version, skippedVersions) ->
   if version != undefined
      (v for v in skippedVersions when version.indexOf(v) > -1).length > 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-09
    • 2011-09-09
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    相关资源
    最近更新 更多