Javascript比较字母数字字符串

时间:2018-01-06 14:28:39

标签: javascript string

我有大约100个字符串的集合,它们具有以下格式并且迭代起来。

aa-000-1
aa-000-7-8
aa-000-20-10

我正在尝试对这些字符串进行比较,以便根据我提供的信息对它们进行分类(我现在只是打印出相关的类别)。我会这样做,一次将它们送入一个函数中。

例如,某些类别是直截了当的:

Category A:
aa-000-8
aa-000-8-1
aa-000-8-2
aa-000-8-3
aa-000-8-5

Category B:
aa-000-8-4

我为此编写了以下代码:

  var category_guid = 'aa-000-8-3';
  if(category_guid.charAt(7) === '8') {
    if(category_guid.charAt(9) === '4' ) {
      console.log('Category B');
    }
    else {
      console.log('Category A');
    }
  }

但是有些类别混合了数字,例如:

Category C:
aa-000-2
aa-000-4-3
aa-000-9-4
aa-000-10-2
aa-000-10-3
aa-000-11-4
aa-000-13-1
aa-000-13-5

如果我继续使用我当前的代码,这最终会成为数百行if-else语句的代码,当然还有更好的比较方法吗? 检查每个字符串并打印相关类别的最有效方法是什么?

感谢您的阅读。

1 个答案:

答案 0 :(得分:0)

您可以在类别上使用.split()方法。例如,'aa-000-8-1'.split('-')返回数组['aa', '000', '8', '1']。从那里,您可以轻松,干净地访问每个号码。

您可以详细了解.split()方法here