数组 indexOf() 和字符串 indexOf() 之间的区别导致版本问题

Difference between array indexOf() and string indexOf() causing issue with versions

我的 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() 似乎有所不同。考虑到这一点,我该如何做 chekk?

我最终这样做了:

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