在没有内置函数的情况下更改字符串

时间:2018-04-17 04:22:21

标签: javascript

 function upcase(string) {
    var up = '';

    for (var x = 0; x < string.length; x++) {
        if (string[x] >=97 && string[x]<=122)
            temp+= string[x] - 32;

        else if(string[x]>=65 && string[x]<=90)
            temp+=string[x] + 32;
    }
      return up;
}

大家晚上好,我正在处理一个练习题,我正在为准备考试做准备。我在编写一个函数时会出现问题,该函数会将字符串的大小写从大写更改为大写。不知道我应该改变什么或者我应该添加什么。任何帮助都会被证明。

2 个答案:

答案 0 :(得分:0)

您可以为此编写一个函数:

function toUpper(string) {
return string.split('').map(c => {
    switch(c) {
        case 'a': return 'A';
        case 'b': return 'B';
        case 'c': return 'C';
        case 'd': return 'D';
        case 'e': return 'E';
        case 'f': return 'F';
        case 'g': return 'G';
        case 'h': return 'H';
        case 'i': return 'I';
        case 'j': return 'J';
        case 'k': return 'K';
        case 'l': return 'L';
        case 'm': return 'M';
        case 'n': return 'N';
        case 'o': return 'O';
        case 'p': return 'P';
        case 'q': return 'Q';
        case 'r': return 'R';
        case 's': return 'S';
        case 't': return 'T';
        case 'u': return 'U';
        case 'v': return 'V';
        case 'w': return 'W';
        case 'x': return 'X';
        case 'y': return 'Y';
        case 'z': return 'Z';
        default: return c;
    }
}).join('');

您现在需要做的就是使用输入字符串调用它:

toUpper('This iS a teSt');

哪个输出:

&#34;这是一项测试&#34;

答案 1 :(得分:0)

更强力的方法会产生如下函数:

function toUpper(str) {
    let upperStr = '';
    for(let i = 0; i<str.length; i++) {
        switch(str[i]) {
            case 'a': upperStr+= 'A'; break;
            case 'b': upperStr+= 'B'; break;
            case 'c': upperStr+= 'C'; break;
            case 'd': upperStr+= 'D'; break;
            case 'e': upperStr+= 'E'; break;
            case 'f': upperStr+= 'F'; break;
            case 'g': upperStr+= 'G'; break;
            case 'h': upperStr+= 'H'; break;
            case 'i': upperStr+= 'I'; break;
            case 'j': upperStr+= 'J'; break;
            case 'k': upperStr+= 'K'; break;
            case 'l': upperStr+= 'L'; break;
            case 'm': upperStr+= 'M'; break;
            case 'n': upperStr+= 'N'; break;
            case 'o': upperStr+= 'O'; break;
            case 'p': upperStr+= 'P'; break;
            case 'q': upperStr+= 'Q'; break;
            case 'r': upperStr+= 'R'; break;
            case 's': upperStr+= 'S'; break;
            case 't': upperStr+= 'T'; break;
            case 'u': upperStr+= 'U'; break;
            case 'v': upperStr+= 'V'; break;
            case 'w': upperStr+= 'W'; break;
            case 'x': upperStr+= 'X'; break;
            case 'y': upperStr+= 'Y'; break;
            case 'z': upperStr+= 'Z'; break;
            default: upperStr+= str[i];
        }
    }

    return upperStr;
}

使用toUpper('This iS a teSt')调用它会产生预期的输出"THIS IS A TEST"