javascript 如何在不使用toUppercase()函数的情况下将字符串转换为字符串

jljoyd4f  于 2023-10-14  发布在  Java
关注(0)|答案(7)|浏览(101)
function alpha()
{
    var a=prompt("Enter String: ");

    for(var b=[i=0];c=a.charCodeAt(i);)
    {
        b[i++]=String.fromCharCode(c|(c>96 && c<123));
    }
    alert(b.join(""))
}
console.log(alpha());

到目前为止,当我运行这个命令时,代码中的一些字母发生了变化,但由于某种原因,它没有将字符串字符更改为所有字符串。(输出示例;我在提示符中键入“hi”,警报输出“i”,因此h出于某种原因消失。

nszi6y05

nszi6y051#

function alpha()
{
    var a=prompt("Enter String: ");
    var output="";
    for(var x=0;x<a.length;x++)
            output+=String.fromCharCode(a.charCodeAt(x)>96 && a.charCodeAt(x)<123 ? a.charCodeAt(x)-32: a.charCodeAt(x))
    return output;
}
console.log("--" + alpha());

只要得到每个字符的大小写代码,如果它的范围在97到122(a到z)之间,从瓦尔中减去32就得到相应的大写字符。希望这对你有帮助。

e4yzc0pl

e4yzc0pl2#

正如上面评论中提到的Barmar
如果字符在97和123之间,则从字符代码中减去32。
您可以使用split-map-join组合使循环逻辑更清晰一些。
由于您还可以在JavaScript中比较单字符字符串,如'a' < 'b',这可以进一步减少处理字符代码转换所需的代码量。

function alpha (s) {
  return s.split('').map(function (c) {
    return 'a' <= c && c <= 'z' ? String.fromCharCode(c.charCodeAt(0) - 32) : c
  }).join('')
}

console.log(
  alpha(prompt("Enter String: "))
)
jogvjijk

jogvjijk3#

我会这么做

function alpha() {
  var a = prompt("Enter string: ");

  var upper = a.split('').map((e) => e.charCodeAt(0) > 96 && e.charCodeAt(0) < 123 ? String.fromCharCode(e.charCodeAt(0) - 32) : e);

  return upper.join('');
}

console.log(alpha());
u91tlkcl

u91tlkcl4#

只是出于兴趣,这里有一种方法可以在一个语句中完成它,而不需要数组或循环(至少,不是显式循环):

var input = 'ABCdefGHIjkl123.'  // or you could prompt("Enter String: ")

var output = input.replace(/[a-z]/g, function(m) {
  return String.fromCharCode(m.charCodeAt(0) - 32)
})

console.log(output)
8zzbczxx

8zzbczxx5#

由于这是一个学习目标,我将只描述一种方法来做到这一点,让你尝试用这个答案作为指导。
首先你要遍历字符串中的字符。对于每一个字符,你都需要一些代码将其转换为大写字母,假设它是一个字母。最后,你想把大写字母保存在一个变量中。
此链接可能对UTF-8字符码有帮助。即使你没有使用utf-8,它也可能给你给予一些想法。http://www.utf8-chartable.de/

kqhtkvqz

kqhtkvqz6#

这里有一种实现它的方法**,根本不调用任何函数**:

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

  var output = ''
  for (var i = 0; i < string.length; i++)
    output += map[string[i]] || string[i]

  return output
}

console.log( myToUpper('ABCdefGHIjkl123.') )   // 'ABCDEFGHIJKL123.'
bvuwiixz

bvuwiixz7#

// code for change the string to lower case to upper case

const upperCase = ()=>{

    let welcome = prompt("Enter your string");
let upper = '';
for(let i=0; i<welcome.length;i++){
    code =  welcome.charCodeAt(i);

   if(code >= 97 && code <= 122){
    let co = code-32;
    console.log(co);
    upper += String.fromCharCode(co);
   }
   else
   {
    upper +=String.fromCharCode(code) ;
   }
   console.log(upper);
}
}

相关问题