JavaScript: string Manipulation

JavaScript: string Manipulation

本文关键字:Manipulation string JavaScript      更新时间:2023-09-26

我很难将一些方法链接在一起。你能提供一些帮助吗?

最终结果应该=米奇老鼠

var name = "MicKEy MOUse";
function nameChanger(oldName) {
    var finalName = oldName;
    var splitString = name.split(' ');
    var fname = splitString.slice(0,1);
    var fname_lower = fname.toLowerCase.slice(1,6);

    return fname_lower;
};
console.log(nameChanger(name));

由于我正在努力学习函数中的方法,我希望在这些项目上得到帮助。然而,如果有更雄辩的方式来执行同样的动作,我也会感谢你的投入。

提前感谢您的知识和指导。

  1. 根据空格字符将名称一分为二

    var splitString = oldName.split(' ');
    
  2. 将第一个字符串全部转换为小写,将第二个字符串转换为大写。

    var fname = splitString[0].toLowerCase();
    var lname = splitString[1].toUpperCase();
    
  3. 现在,只需从fname创建一个新的String,将第一个字符改为大写,将其与lname连接并返回,如下面的

    return fname[0].toUpperCase() + fname.substring(1) + " " + lname;
    

所以,你的完整功能看起来像这个

function nameChanger(oldName) {
    var splitString = oldName.split(' ');
    var fname = splitString[0].toLowerCase();
    var lname = splitString[1].toUpperCase();
    return fname[0].toUpperCase() + fname.substring(1) + " " + lname;
};

注意:您可能想知道,我们为什么要进行

fname[0].toUpperCase() + fname.substring(1)

以仅改变CCD_ 3的第一个字符。在JavaScript中,字符串是不可变的对象。一旦创建了String对象,就永远无法更改它。因此,我们正在创建一个新的String对象,该对象基于修改后的fname的第一个字符和fname的其余字符。

var name = "MicKEy MOUse";
function nameChanger(oldName) {
    var splitString = name.split(' ');
    return splitString[0].charAt(0).toUpperCase()+splitString[0].slice(1).toLowerCase()+' '+splitString[1].toUpperCase();
};
console.log(nameChanger(name));

扩展代码(适用于Robert Rossmann):

var name = "MicKEy MOUse";
function nameChanger(oldName) {
    //Splitting `oldName` to array with words
    var splitString = name.split(' ');
    //Setting variable which contains first word
    var firstWord = splitString[0];
    //Setting variable which contains second word
    var secondWord = splitString[1];
    //Setting variable which contains first letter of first word
    var firstWordLetter = firstWord.charAt(0);
    //Setting variable which contains first word letters, without first letter
    var firstWordRestOfLetters = firstWord.slice(1);
    //Result first word (first letter to upper case, rest of letters to lower case)
    var resultFirstWord = firstWordLetter.toUpperCase()+firstWordRestOfLetters.toLowerCase();
    //Result second word (all second word letters to upper case)
    var resultSecondWord = secondWord.toUpperCase();
    //Returning string with first and second word separated with space
    return resultFirstWord+' '+resultSecondWord;
};