HiveBrain v1.2.0
Get Started
← Back to all entries
patternjavascriptMinor

Determine which range a character falls into

Submitted by: @import:stackexchange-codereview··
0
Viewed 0 times
rangeintocharacterdeterminewhichfalls

Problem

I am categorizing terms depending on what letter the term starts with. What is the cleanest way to do so?

var parentGroup,
    startsWith = "H"; // Just simplifying and giving a static example here.

switch(startsWith) {
    case "A":
    case "B":
    case "C":
    case "D":
    case "E":
    case "F":
        parentGroup = "A-F";
        break;
    case "G":
    case "H":
    case "I":
    case "J":
    case "K":
    case "L":
    case "M":
        parentGroup = "G-M";
        break;
    case "N":
    case "O":
    case "P":
    case "Q":
    case "R":
        parentGroup = "N-R";
        break;
    case "S":
    case "T":
    case "U":
    case "V":
    case "W":
    case "X":
    case "Y":
    case "Z":
        parentGroup = "S-Z";
        break;
    default:
        parentGroup = "0-9";
}

Solution

Those "parent groups" look a lot like regular expressions, specifically character sets. You could perform regular expression matches for patterns like ^[A-F].



function parentGroup(char) {
var groups = ['A-F', 'G-M', 'N-R', 'S-Z', '0-9'];
for (var i = 0; i
Enter text, starting with a digit or uppercase letter:
Parent group: `

Context

StackExchange Code Review Q#132207, answer score: 2

Revisions (0)

No revisions yet.