Javascript 手动将JS中的大写字符串转换为小写字符串

Javascript 手动将JS中的大写字符串转换为小写字符串,javascript,char,uppercase,lowercase,Javascript,Char,Uppercase,Lowercase,尝试编写一个函数,该函数返回转换为的调用字符串值 小写字母。诀窍是我不能用 以下是我到目前为止的情况 function charChange(char){ for (var i=0; i<char.length; i++){ var char2=charCodeAt(char[i])+32; var char3=String.fromCharCode(char2); if (char3 !== charCodeAt(97-122){

尝试编写一个函数,该函数返回转换为的调用字符串值 小写字母。诀窍是我不能用

以下是我到目前为止的情况

function charChange(char){
    for (var i=0; i<char.length; i++){
        var char2=charCodeAt(char[i])+32;
        var char3=String.fromCharCode(char2);
        if (char3 !== charCodeAt(97-122){
            alert("Please enter only letters in the function")
        }
    }
    return char;
}
您可以使用将字符串转换为小写:

:%s/.*/\L&/
您可以使用将字符串转换为小写:

:%s/.*/\L&/
是对字符串调用的方法,它不是函数。因此,可以对字符串应用该方法,并将要转换的字符的位置作为参数。同样如前所述,char这个词是保留的:看看这个词

以下代码修复了该问题:

函数charChangestr{ var结果=; 对于变量i=0;i=65&&code是一个在字符串上调用的方法,它不是一个函数。因此,您可以在字符串上应用该方法,并将要转换的字符的位置作为参数。此外,如前所述,char一词是保留的:请查看

以下代码修复了该问题:

函数charChangestr{ var结果=; 对于变量i=0;i如果code>=65&&code要手动将字符串的大写字母转换为小写字母,如果您不是手动执行此操作,则应使用,您必须:

编写样板函数:

function strLowerCase(str) {
    let newStr = "";
    // TODO
    return newStr;
}
循环原始字符串的每个字符,并获取其代码点:

function strLowerCase(str) {
    let newStr = "";
    for(let i = 0; i < str.length; i++) {
        let code = str.charCodeAt(i);
        // TODO
    } return newStr;
}
如果字符为大写,则在其代码点上添加32以使其变为小写。是的,这是ASCII的创建者经过深思熟虑的设计决定。无论如何,请将新字符附加到新字符串中

function strLowerCase(str) {
    let newStr = "";
    for(let i = 0; i < str.length; i++) {
        let code = str.charCodeAt(i);
        if(code >= 65 && code <= 90) {
            code += 32;
        } newStr += String.fromCharCode(code);
    } return newStr;
}

要手动将字符串的大写字母转换为小写字母,如果不是手动操作,则应使用,您必须:

编写样板函数:

function strLowerCase(str) {
    let newStr = "";
    // TODO
    return newStr;
}
循环原始字符串的每个字符,并获取其代码点:

function strLowerCase(str) {
    let newStr = "";
    for(let i = 0; i < str.length; i++) {
        let code = str.charCodeAt(i);
        // TODO
    } return newStr;
}
如果字符为大写,则在其代码点上添加32以使其变为小写。是的,这是ASCII的创建者经过深思熟虑的设计决定。无论如何,请将新字符附加到新字符串中

function strLowerCase(str) {
    let newStr = "";
    for(let i = 0; i < str.length; i++) {
        let code = str.charCodeAt(i);
        if(code >= 65 && code <= 90) {
            code += 32;
        } newStr += String.fromCharCode(code);
    } return newStr;
}

这是目前我能想到的两个最优雅的解决方案。请查看代码中的注释,如果有任何不清楚的地方,请毫不犹豫地询问

函数charchange1str{ 让结果=; const len=str.length; //检查输入字符串中的每个字符。。。 对于设i=0;i90{ //如果不是大写字母, //只需将其附加到输出 //还捕获特殊字符和数字 结果+=c; }否则{ //否则,首先转换为小写 结果+=String.fromCharCodecharCode-65+97; } } 返回结果; } 功能charchange2str{ //Array.prototype.slice.callstr转换 //将类似字符串的数组转换为实际数组 //然后,使用与上面相同的逻辑映射每个条目 返回Array.prototype.slice.callstr .mapfunction c{ 常量charCode=c.charCodeAt0; 如果charCode<65 | | charCode>90,则返回c; 返回String.fromCharCodecharCode-65+97; } //最后,将数组连接到字符串 参加 } 控制台.logcharchange1aaasfassg'jlj89345;
console.logcharchange2aaasfassgsg'jlj89345;这是目前我能想到的两个最优雅的解决方案。请查看代码中的注释,如果有任何不清楚的地方,请毫不犹豫地询问

函数charchange1str{ 让结果=; const len=str.length; //检查输入字符串中的每个字符。。。 对于设i=0;i90{ //如果不是大写字母, //只需将其附加到输出 //还捕获特殊字符和数字 结果+=c; }否则{ //否则,首先转换为小写 结果+=String.fromCharCodecharCode-65+97; } } 返回结果; } 功能charchange2str{ //Array.prototype.slice.callstr转换 //将类似字符串的数组转换为实际数组 //然后,使用与上面相同的逻辑映射每个条目 返回Array.prototype.slice.callstr .mapfunction c{ 常量charCode=c.charCodeAt0; 如果charCode<65 | | charCode>90,则返回c; 返回String.fromCharCodecharCode-65+97; } //最后,将数组连接到字符串 参加 } 控制台.logcharchange1aaasfassg'jlj89345;
console.logcharchange2aaasfassgsgsg'jlj345;您缺少一个右括号行5为什么不能使用.toLowerCase?我很确定char在JS中是一个不允许使用的保留字。如果char是一个看起来像的数组,那么它应该是chars。charCodeAt97-122也变成charCodeAt-25,这没有意义,因为String.proto必须对字符串调用type.charCodeAt 1
2是一个索引,而不是一个代码点。更重要的是,我相信charCodeAt是一个方法,而不是一个函数!您可能需要执行char[i]。charCodeAt0而不是charCodeAtchar[i]您缺少一个右括号行5为什么不能使用.toLowerCase?我很确定char在JS中是一个保留字,您不允许使用。如果char是一个看起来像的数组,那么它应该是chars。charCodeAt97-122也变成了charCodeAt-25,这毫无意义,因为String.prototype.charCodeAt 1必须在字符串上调用,而2采用索引,而不是代码点。更重要的是,我相信charCodeAt是一个方法,而不是一个函数!你可能想做char[i]。charCodeAt0而不是charCodeAtchar[i]非常好的解释谢谢你一步一步地解释,这真的帮助我更好地理解。非常好的解释谢谢你一步一步地解释,这真的帮助我更好地理解。