如何在不使用JavaScript的regexp的情况下将大写转换为小写,反之亦然?

时间:2016-03-10 21:02:01

标签: javascript

我是一个完全的初学者,我试图使用循环来做这个,如果有条件,但它从来没有奏效,我怀疑问题是我的if条件。

这是我的代码并提前致谢。

balls[j].fillColor.equals('coral');

3 个答案:

答案 0 :(得分:2)

正如@SLaks所提到的,javascript中的字符串是不可变的,这意味着您无法实际更改其中的内容。相反,您可以创建一个新的空字符串并添加到该

function alter(string) {
  var newString = ''
  for (var i = 0; i < string.length; i++) {
    newString += string[i] === string[i].toUpperCase() ? string[i].toLowerCase() : string[i].toUpperCase()
  }
  return newString
}

答案 1 :(得分:1)

&#13;
&#13;
var hello = "hElLO";
var newWord = [];

for (i=0; i<hello.length; i++) {
  if (hello[i] == hello[i].toLowerCase()) {
      newWord[i] = hello[i].toUpperCase();
  }
  else {
    newWord[i] = hello[i].toLowerCase();
  }
}

alert(newWord.join(""));
&#13;
&#13;
&#13;

答案 2 :(得分:0)

let str = 'HelloWorld';

let UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
    LOWER='abcdefghijklmnopqrstuvwxyz',
    res1=[],len=str.length;

for(let i=0;i<len;i++){
  if(UPPER.indexOf(str[i])!==-1)
    res1.push(str[i].toLowerCase())
  else if(LOWER.indexOf(str[i]!==-1))
    res1.push(str[i].toUpperCase())
}
console.log('solution-1: '+res1.join(''))
 

let res2=[];
for(let i=0;i<len;i++){
    if(UPPER.includes(str[i]))
  res2.push(str[i].toLowerCase())
  else if(LOWER.includes(str[i]))
   res2.push(str[i].toUpperCase())
}

console.log('solution 2: '+res2.join(''))