У меня есть коллекция из примерно 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, несомненно, есть лучший способ сравнения? Каким будет наиболее эффективный способ проверки каждой строки и печати ее связанной категории?
Спасибо за чтение.
Вы можете использовать метод .split()
для категорий. Например, 'aa-000-8-1'.split('-')
возвращает массив ['aa', '000', '8', '1']
. Оттуда вы можете легко и чисто получить доступ к каждому номеру.
Подробнее о .split()
вы можете прочитать здесь.